Gulp - 提高gulp.watch在捆绑的js文件上的性能

时间:2016-03-12 15:49:13

标签: node.js gulp gulp-watch webpack-dev-server webpack-hmr

每当我对js文件进行更改时,我都会遇到浏览器实时加载的问题。在我的gulp设置中,我有以下手表:

gulp.task('watch', function() {
    gulp.watch(config.paths.html, ['html']);
    gulp.watch(config.paths.js, ['js', 'lint']);
    gulp.watch(config.paths.css, ['css']);
});

因此,只要对js文件进行了更改,就会触发jslint任务。它们如下:

gulp.task('js', function() {
    browserify(config.paths.mainJs)
        .transform(reactify)
        .bundle()
        .on('error', console.error.bind(console))
        .pipe(source('bundle.js'))
        .pipe(gulp.dest(config.paths.dest + '/scripts'))
        .pipe(connect.reload());
});

gulp.task('lint', function() {
    return gulp.src(config.paths.js)
        .pipe(lint({config: 'eslint.config.json'}))
        .pipe(lint.format());
});

通过此设置,js文件更改的实时重新加载不会缩放。随着项目变得越来越大,实时重新加载需要更长时间。即使是一个包含大约十几个JS文件的小项目,每次重新加载也需要3.8秒。

我知道问题在于,每次js文件更改时,您都会重新生成并捆绑项目中的每个js文件,这是一项昂贵的操作,而且对于所有{{} { {1}}您更改的文件以外的文件。什么是处理实时重新加载的更好方法?我知道webpack使用热模块重新加载,是否有js等效的呢?

0 个答案:

没有答案