2

每当我对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因此,只要文件发生更改,就会触发js和任务。lint它们如下:

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());
});

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

我知道问题在于,在每次js文件更改时,您都会js对项目中的每个文件进行反应和捆绑,这是一项昂贵的操作,并且对于js您更改的文件以外的所有文件来说都是完全多余的。处理实时重新加载的更好方法是什么?我知道 webpack 使用热模块重新加载,有没有gulp等价的?

4

0 回答 0