如何解决Gulp重新处理未更改的文件
我正在长时间(〜30 s)重建一些吞咽任务。我首先使用babel transpiling ,然后 uglifying ,最后 concatencateing 各个文件。
我确定大部分时间都花在了丑化上-因此,我也跳过了已经缩小的(+ uglified)文件,但收效甚微。然后,我尝试在uglify()
调用之前和之后(不是一次)注入gulp-cached
和gulp-changed-in-place
,但没有明显改善。更糟糕的是,它们错误地编译了我的文件,甚至跳过了其中的一些文件,这使我的最终JS变得无用。
关于changed-in-place
-在可以将之前的丑化文件的哈希与新哈希进行比较时,我已经通过首先丑化了时间...
我想知道如何有效地跳过未更改的文件及其相应的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'));
});
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。