gulp+Browsersyncな開発環境でwatchしてリロードは効くのに内容が反映されない、キャッシュを切ると反映されるという現象が起きた

めっちゃ特定条件下だけどうまく動かなくて困っていた。

gulpベースのWPの開発キットを使っている。Local by Flywheel(以下Local)でWPのサイトをプロビジョニングして、gulpベースの開発キットで.phpをwatchして、.phpの変更をしたらライブリロードが効いて変更がローカルサーバに反映されるはず…だったがうまく動かなかった。

挙動

BrowsersyncでLocalで立ててるローカルサーバ(hogehoge.devみたいなアドレス)にProxy張っていて、ちゃんと『Connected browser』の文字も毎回出ているし、phpを変更したらリロードの動作はかかる。最初の1回は変更内容が反映されるのだけど、以降まったく変更内容が反映されなくて、ブラウザの更新ボタンを押しても反映されない、Chromeのdevツール開いて更新ボタン長押ししてキャッシュ消したら反映される(ときもある)というよくわからない不安定な感じだった。

解決

結局なんだったかっていうと、よくわからなくて、Localでプロビジョニングがうまくいっていなかったのか、上記の妙な挙動するローカルサイトを消して、新しいサイトをプロビジョニングして試したらそっちでは動いた。なんなのか。WPの管理画面にも入れるしTwentyseventeenのテーマでHelloworldもできているのにプロビジョニングが不完全だったみたいなそんなことはあるのか…?

一応4サイト分Local上で作って、全部でうまくいくか試してみたけどうまく動いていた。結局最初の1サイトだけがうまく動かないというやつだったっぽくてよくわからないけどそういうことがあった、というはなし。