Gulp循环配置文件和合并任务......慢

时间:2015-04-16 19:29:15

标签: json node.js gulp

我正在尝试使用gulp和config.json文件自动化我的js任务,所以我不需要打开gulpfile.js而只需要打开配置文件。 我的代码看起来很好并正在工作......但是Gulp在10秒内完成任务!我正在寻找一种更快完成任务的方法。

在配置文件中,我想用自己的concat东西设置不同的javascript。

这是我的config.json的一个示例部分:

"javascript": {
    "watchdir": "./assets/js/src",
    "files": [{
        "basename": "script",
        "src" : ["./assets/js/src/jquery-2.1.3.min.js", "./assets/js/src/TweenMax.min.js", "./assets/js/src/imagesloaded.pkgd.min.js", "./assets/js/src/isotope.pkgd.min.js", "./assets/js/src/base.js"],
        "dest": "./assets/js"
    },
    {
        "basename": "contact",
        "src" : ["./assets/js/src/googlemap.js", "./assets/js/src/contact-form.js"],
        "dest": "./assets/js"
    }]
},

而且,这是我的gulp任务:

/* Scripts task */
gulp.task('scripts', function() {
    var tasks = config.paths.javascript.files.map(function(entry){
        return gulp.src(entry.src)
        .pipe(plumber({errorHandler: onError}))
        .pipe(concat(entry.basename + '.js'))
        .pipe(rename({basename: entry.basename, suffix: '.min'}))
        .pipe(uglify())
        .pipe(gulp.dest(entry.dest))
    });

    return es.merge.apply(null, tasks).pipe(notify('Javascript Compiled and Minified'));
});

手表:

// Watch files
gulp.task('default', ['less', 'scripts'], function () {
    gulp.watch([config.paths.less.src + '/*.less'], ['less'])
    gulp.watch([config.paths.javascript.watchdir + '/*.js'], ['scripts'])
});

1 个答案:

答案 0 :(得分:0)

在已经过uglfied的库上运行Uglify是一个巨大的性能杀手。尽量从你的缩小过程中排除这些,这应该会加速很多事情!

+1使用流数组!!