Gulp重新处理未更改的文件

问题描述

我正在长时间(〜30 s)重建一些吞咽任务。我首先使用babel transpiling ,然后 uglifying ,最后 concatencateing 各个文件

我确定大部分时间都花在了丑化上-因此,我也跳过了已经缩小的(+ uglified)文件,但收效甚微。然后,我尝试在uglify()调用之前和之后(不是一次)注入gulp-cachedgulp-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 (将#修改为@)