在我的网站构建过程中,我使用 gulp-changed 来防止在不必要的情况下执行所有任务。但是,有时即使声明相似,它也会有不同的行为。
有谁知道我做错了什么?
案例 1:使用 partials 构建 htlm/php。 工作正常!任务进程只有第一次,如果我连续运行两次
gulp.task('pages', function () {
var toBuild = src + config.pages.src_pages; // many php/html files
var partials = src + config.pages.src_partials; // "to be included"
var DEST = target;
return gulp.src([toBuild, "!" + partials])
.pipe(changed(DEST))
.pipe(fileinclude({ prefix: '@@', basepath: '@file' }))
.pipe(size())
.pipe(gulp.dest(DEST));
});
案例 2:从多个 svg 文件构建 SVG Sprite 。 不起作用!如果我连续运行两次,任务将再次运行
gulp.task('vector', function () {
var DEST = target + config.assets.images.vector_dest;
var configsvg = { // ... config stuff // };
return gulp.src(src + config.assets.images.vector_src)
.pipe(changed(DEST))
.pipe(svgo())
.pipe(svgSprite(configsvg)).on('error', function (error) {
console.log(error);
})
.pipe(size())
.pipe(gulp.dest(DEST));
});
最佳答案
解决方案是在“多对一”文件编译(串联等...)的情况下使用 gulp-newer 模块
感谢 Lim H。 gulp-newer vs gulp-changed
关于html - gulp-changed 有不同的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31207209/