ファイルに変更を加えるたびに、ブラウザーの livereloading のパフォーマンスに問題があり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
ファイル変更時の livereload はスケーリングしません。プロジェクトが大きくなるにつれて、ライブ リロードに時間がかかります。約 12 個の JS ファイルを含む小さなプロジェクトでも、リロードあたり 3.8 秒かかります。
問題は、js
ファイルが変更されるたびに、プロジェクト内のすべてのファイルを反応させてバンドルしていることです。これは高価な操作であり、変更したファイル以外のjs
すべてのファイルに対して完全に冗長です。js
ライブ リロードを処理するより良い方法は何ですか? webpack がホット モジュール リロードを使用していることは知っていますが、これにgulp
相当するものはありますか?