我有一个生成连接的JS文件的gulp任务.我使用手表来检测项目中所有文件的更改,并希望concat任务只在源文件自上次执行后发生更改时才重新连接文件.
注意:我可以使用更具体的监视命令,但在我的实际生产情况下,我们从多个源JS文件组合生成多个连接的JS文件,因此为每个组件创建监视和任务要复杂得多
像这样的东西:
gulp.task('scripts', function() {
return gulp.src('src/**/*.js')
.pipe(cache('scripts'))
// If no changed files in pipeline, exit pipeline,
// else add in all src files again
.pipe(concat('app.js'))
.pipe(gulp.dest('build/'));
});
Run Code Online (Sandbox Code Playgroud)
我考虑过最后两个步骤使用lazypipe所以我只运行concat和dest如果有文件,但我不知道如何:
我知道我可以使用gulp-remember用于第二部分,但在我的生产情况下,如果可能的话,重建流将更加清晰.
以前做过这个的人还是有任何关于从哪里开始的提示?
插件gulp-newer应该可以解决问题。
gulp.task('scripts', function() {
return gulp.src('src/**/*.js')
.pipe(newer('app.js'))
.pipe(concat('app.js'))
.pipe(gulp.dest('build/'));
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2533 次 |
| 最近记录: |