每当我对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());
});
通过此设置,js
文件更改的实时重新加载不会缩放。随着项目变得越来越大,实时重新加载需要更长时间。即使是一个包含大约十几个JS文件的小项目,每次重新加载也需要3.8秒。
我知道问题在于,每次js
文件更改时,您都会重新生成并捆绑项目中的每个js
文件,这是一项昂贵的操作,而且对于所有{{} { {1}}您更改的文件以外的文件。什么是处理实时重新加载的更好方法?我知道webpack使用热模块重新加载,是否有js
等效的呢?