每次都无法处理所有事情,我无法满足。我试过了:
它适用于gulp-ngmin,但不适用于gulp-less
因此,只有在我更改test.js时才会处理test.js:
var SRC = 'test.js';
var DEST = 'dist';
gulp.task('test', function () {
return gulp.src(SRC)
.pipe(changed(DEST))
// ngmin will only get the files that
// changed since the last time it was run
.pipe(ngmin())
.pipe(gulp.dest(DEST));
});
但每次我执行此任务时,它都会计算较少的
这里有什么问题?
var SRC = 'test.less';
var DEST = 'dist';
gulp.task('test', function () {
return gulp.src(SRC)
.pipe(changed(DEST))
.pipe(less({
paths: [path.join(__dirname, 'less', 'includes')]
}))
.pipe(gulp.dest(DEST));
});
答案 0 :(得分:5)
实际上Nikita的陈述是错误的,它确实有用,这是它的目的,只是确保你正确设置它。就我而言,我有这个:
var gulp = require('gulp');
var less = require('gulp-less');
var changed = require('gulp-changed');
gulp.task('less', function ()
{
gulp.src('./src/less/pages/*.less')
.pipe(changed( 'outputDir/css', {extension: '.css'}))
.pipe(less({
paths: [ './src/less/' ]
}))
.pipe(gulp.dest( 'outputDir/css') );
});
我的gulp.src
指向我拥有主LESS文件的文件夹(导入其他LESS文件的文件),我希望它们都编译到目标文件夹中。
在.pipe(changed())
中,您必须拥有与.pipe(gulp.dest())
中相同的目标。
您可以指定要进行比较的扩展程序,以便在{extension: '.css'}
中加快速度(pipe(changed())
)。
也许您需要仔细检查paths: [path.join(__dirname, 'less', 'includes')]
。就我而言,我只是放置了所有较少文件的根文件夹。我的一些LESS文件位于src/less/globals
,其他位于src/less/common
。我要编译的文件位于src/less/pages
。所以我在src/less/pages/*.LESS
中使用了gulp.src()
,在src/less/
中使用了pipe(less({paths: []}))
。
答案 1 :(得分:1)
您可以使用 gulp-less-changed 包,它将检查较少的文件编译层次结构,考虑使用的internal
@import