1

次のセットアップは次のように機能します。

  1. ファイルを変更する
  2. gulpタスクが開始され、最終的に変更されます/file/to/watch.js
  3. nodemon が Express サーバーを再起動します
  4. browserSync.reload() が呼び出されます
  5. ブラウザのリロード

ノード 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ますが、以前はそのように機能していました。何が変わったのかわからない。

4

0 に答える 0