每当我对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
等价的?