私は.lessプロジェクト+ livereloadを見てコンパイルするために頭を一杯にしようとしています。 _@import
_を使用するstyle.lessファイルがあります。 gulpタスクを実行すると、インポートが理解されないようです。メインのlessファイルを変更すると、gulpはファイルをコンパイルしてブラウザーを更新しますが、インポートのみを変更すると、変更は無視されます。
これが私のgulpfile.jsです
_var gulp = require('gulp');
var less = require('gulp-less');
var watch = require('gulp-watch');
var prefix = require('gulp-autoprefixer');
var plumber = require('gulp-plumber');
var livereload = require('gulp-livereload');
var path = require('path');
gulp.task('default', function() {
return gulp.src('./style.less')
.pipe(watch())
.pipe(plumber())
.pipe(less({
paths: ['./', './overrides/']
}))
.pipe(prefix("last 8 version", "> 1%", "ie 8", "ie 7"), {cascade:true})
.pipe(gulp.dest('./'))
.pipe(livereload());
});
_
gulp.src('./*.less')
でメインファイル名を指定しないようにしましたが、それ以外のすべてのファイルは個別にコンパイルされます。
ありがとう
現在、単一のgulp.src
ファイルを開いており、gulpでファイルを開いた後に監視しています。次の例では、監視とsrcを2つのタスクに分割し、ファイルとsrcを別々に監視できるようにします。
var gulp = require('gulp');
var less = require('gulp-less');
var watch = require('gulp-watch');
var prefix = require('gulp-autoprefixer');
var plumber = require('gulp-plumber');
var livereload = require('gulp-livereload');
var path = require('path');
gulp.task('less', function() {
return gulp.src('./style.less') // only compile the entry file
.pipe(plumber())
.pipe(less({
paths: ['./', './overrides/']
}))
.pipe(prefix("last 8 version", "> 1%", "ie 8", "ie 7"), {cascade:true})
.pipe(gulp.dest('./'))
.pipe(livereload());
});
gulp.task('watch', function() {
gulp.watch('./*.less', ['less']); // Watch all the .less files, then run the less task
});
gulp.task('default', ['watch']); // Default will run the 'entry' watch task
*.less
で見つかったファイルのいずれかが変更されると、srcファイルのみをコンパイルするタスクが実行されます。 @importsは、インポート設定をチェックしない場合、正しく「含まれる」必要があります。
これには gulp-watch-less を使用できます。