我正在经历几个 gulp 任务的长时间(约 30 秒)重建。我首先使用babel进行编译,然后进行丑化,最后连接各个文件。
我确定大部分时间都花在了丑化上——所以我也跳过了已经缩小(+丑化)的文件,但收效甚微。然后我尝试在调用之前和之后(不是一次)进行注入gulp-cached
,但没有显着改善。更糟糕的是,他们错误地编译了我的文件,显然甚至跳过了其中的一些文件,这使得我最终的 JS 毫无用处。gulp-changed-in-place
uglify()
关于changed-in-place
- 到以前的 uglified 文件的哈希可以与新文件进行比较时,我已经首先通过 uglifying 来消磨时间......
我想知道如何有效地跳过未更改的文件及其相应的 gulp 任务。
这是我的 gulpfile 的相关部分:
myTasks.forEach(function (taskName) {
gulp.task(taskName, function () {
return gulp.src(tasks[taskName])
.pipe(
gulpBabel({
presets: ['es2015', {
'ignore': [
'**/*.min.js'
]
}],
plugins: ['transform-object-rest-spread']
}).on("error", function (e) {
console.error({
babelError: e
});
})
)
.pipe(
is_prod()
? uglify().on("error", function (e) {
console.warn(e);
})
: noop_()
)
.pipe(concat(taskName + '.min.js'))
.pipe(gulp.dest('my-dist-folder'));
});
});