gulp less编译只改变文件

时间:2017-08-08 12:39:36

标签: gulp less gulp-watch gulp-changed

我有问题,当我跑gulp手表 - >运行任务样式:构建,并重新编译所有较少的文件。我怎样才能编译只更改的文件?

gulp.task('styles:build', function () {
    return gulp.src(pathes.src.styles)
        .pipe(changed(pathes.build.styles), {extension: '.css'})
        .pipe(print(function(filepath) {
            return "➔ file was changed: " + filepath;
        }))
        .pipe(plumber())
        .pipe(less({
            plugins: [autoprefix, cleanCSSPlugin],
            paths: ['./', 'web/styles']
        }))
        .pipe(gulp.dest(pathes.build.styles))
});


gulp.task('watch', function() {
   gulp.watch(pathes.src.styles, ['styles:build'])
});

enter image description here

2 个答案:

答案 0 :(得分:1)

您需要修改下面的行以添加结束括号:

.pipe(changed(pathes.build.styles, {extension: '.css'}))

另外,当我第一次运行任务时提醒它,它可能会传递所有文件。

答案 1 :(得分:0)

我想我找到了解决方案 只需安装lessChanged = require(' gulp-less-changed') 并在少管之前包括他

.pipe(lessChanged())
.pipe(less())