Browserify + gulp变慢

时间:2014-10-16 18:59:06

标签: javascript gulp browserify

每当js文件发生变化时,我们一直在使用gulp和browserify来创建项目的构建。随着项目的发展,这个过程变得非常缓慢,从200毫秒开始 - > 〜5秒。该项目有69个目录,173个文件,最大深度为4个文件夹。我们正在应用一些变换。这是我们的构建代码。

var buildJS = function (entryPoint, name, cb) {
    var browserify = require('browserify');
    var uglify = require('gulp-uglify');
    var source = require('vinyl-source-stream');
    var buffer = require('vinyl-buffer');
    var reactify = require('reactify');
    var literalify = require('literalify');
    var brfs = require('brfs');

    browserify()
        .require(entryPoint + '/' + name + '.jsx')
        .transform({
           global: true
        }, reactify)
        .transform({
           global: true
        }, brfs)
        .transform({
           global: true
        }, literalify.configure(literalifyConfig))
        .external(config.libs)
        .bundle({
            debug: config.DEV,
            //detectGlobals : false
        })
        .on('error', handleError)
        .pipe(source('bundle.js'))
        .pipe(buffer())
        .pipe(gulpIf(!config.DEV, uglify()))
        .pipe(gulp.dest(config.buildPath + '/' + name))
        .on('finish', cb)
};

这是基于我们项目规模的正常行为吗?或者我们做错了什么?

1 个答案:

答案 0 :(得分:0)

那是因为browserify总是重新编译一切。如果你想要良好的性能,你应该使用增量构建。 我为此精确地开发了一个gulp插件:https://github.com/ngryman/gulp-bro