4

我正在经历几个 gulp 任务的长时间(约 30 秒)重建。我首先使用babel进行编译,然后进行丑化,最后连接各个文件。

我确定大部分时间都花在了丑化上——所以我也跳过了已经缩小(+丑化)的文件,但收效甚微。然后我尝试在调用之前和之后(不是一次)进行注入gulp-cached,但没有显着改善。更糟糕的是,他们错误地编译了我的文件,显然甚至跳过了其中的一些文件,这使得我最终的 JS 毫无用处。gulp-changed-in-placeuglify()

关于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'));
    });
});
4

0 回答 0