次のセットアップは次のように機能します。
- ファイルを変更する
- gulpタスクが開始され、最終的に変更されます
/file/to/watch.js
- nodemon が Express サーバーを再起動します
- browserSync.reload() が呼び出されます
- ブラウザのリロード
ノード 8.9.4 に更新して以来 (それが起こったときだと思います)、これは機能しなくなりました。ステップ 1 ~ 4 は問題なく実行されます。しかし、ステップ 5 ではありません。まだ「browserSync.reload!!!」が表示されます。コンソールにログインしても、ブラウザがリロードされません。browserSync のソース コードをステップ実行してみましたが、「ネイティブ コード」というラベルの付いた関数に到達するまでには、あまり時間がかかりません。
ブラウザを再度リロードする方法はありますか?
return nodemon({
script: '/path/to/script.js',
watch: '/file/to/watch.js',
env: {
'PORT': 7000
}
}).on('start', function() {
// to avoid nodemon being started multiple times
// thanks @matthisk
if (!started) {
cb();
started = true;
}
console.log('browserSync.reload!!!');
browserSync.reload();
});
更新: browser-sync スクリプト タグが挿入されていないことが問題であることがわかりました。open
オプションを からfalse
に変更すると、機能することもわかりましたtrue
。私はそれを に設定することを好みfalse
ますが、以前はそのように機能していました。何が変わったのかわからない。