勝手にリフレ

Web

Nuxt3でリフレッシュされる現象に悩まされる

webkit系のブラウザで、初回アクセス時のみ読み込み後、リフレッシュされる現象が発生。オープンニングアニメーションを入れていたので、中断したり、2度繰り返されたりして、使い物になりません。悪戦苦闘した結果、原因は単純ミスでした。切り分けに時間がかかったので、反省を促すためにメモします。

原因の推測に苦労する

最初は再現性がないのかなと思っていました。それはFirefoxで確認していたからです。癖なのか、Firefoxで確認して、調べ物はBraveを使っているんですが、たまたまSafariで見た時に、アニメーションがリフレッシュされているのを発見。アニメーションに使ったGSAPが原因かと疑い、段階毎にconsole.logを埋めて追うことに。で、SSG後にサーバへアップし、初回のみ特定の箇所でリフレッシュされることを発見しました。ただ、GSAP関係をすべてコメントアウトしても、発生するんです。じゃあ、関係ないなとGSAPを追及するのを断念。ググるとuseFetchが関係あるかもという記事を見つけたので、鬼のようにconsole.logを埋め込んで追っていきます。でも、最後に設置したconsole.logよりもはるか後ろで発生するので、考え方を改めることにしました。

犯人はオレでした

相変わらずググっているとプラグインに使っているnuxt.config.tsが怪しいらしいとのこと。それで、@vite-pwa/nuxtを使っていて、下記参考サイトをそのまま記載していることを思い出しました。

Nuxt3でPWA対応する - Qiita
少し躓いたのでメモとして残します。nuxt v3.1.2@vite-pwa/nuxt v0.0.71. @vite-pw…

で、registerType: ‘autoUpdate’と設定してあることに気づきます。そう、自動更新です。犯人はオレでした。そして、コメントアウトして、サーバにアップしてみるとリフレッシュされません。頼むよ、オレ。

Vite Plugin PWA
Zero-config PWA Framework-agnostic Plugin for Vite and Integ…

コメント