動的ルートがクロールされない!?

更新:2020/10/26 00:27 by nasu38yen

2.13のFull Static Generateでは、内部クローラーが自動で動的ルーティングを生成してくれます。
nuxt.config.jsに、generate.routeを記述する必要がなくなったということですが、どうもうまくいかない場合があります。

失敗その1

動的ページへのリンクを、nuxt-linkではなく@click="$router.push(~)"で行っていました。
クローラーはこれを、nuxt-linkと同等とは扱ってくれません。

失敗その2

generateの実行結果がlocalとNetlifyで異なることがありました。
localでは正常に静的化されるものが、NetlifyのDeploy時にはエラーが発生します。
エラーの内容(Input data should be a String)から、APIの呼出しか応答に問題がありそうな気がしますが、
何が原因か?なぜそんなことが起こりえるのか?がまだよくわかっていません。

失敗その3

クローラーの問題ではありませんが、静的化されたルートでまだAPIアクセスが発生するということがありました。
静的化は間違いなく行われていてF5リロードすればその内容を確認できますが、
リンククリック時には静的化以降のMicroCMSの変更が見えてしまいます。

その2、その3について、
fetchでstoreに格納していた処理をasyncDataにコードを移動したところ問題が解決しました。
ただ別のデータで依然、fetch&storeを使用しているにもかかわらず問題が発生しないものもあり、
fetchでstoreに格納すること自体が問題になるわけではないようです。
いずれにしても、yarn devがうまく動くようになっても、Netlifyでのgenerateが正しく成功できるようになるまでは、
つまり、full static generateにはそれに合わせたコードが必要になる場合があるようです。

親ノート

静的化??に混乱するの巻 更新:2020/10/27 04:22 by nasu38yen