Closed16
nxのNext.jsでもOn-demand Incremental Static Regenerationしたい
On-demand Incremental Static Regenerationはこれ
api叩くと特定のパスのキャッシュをrevalidateに限らず再作成してくれるやつ
素のNext.jsではこれで出来る
nxはこれ
おもむろにnxのNext.jsプロジェクトを作る
npx create-nx-workspace@latest --preset=next.
vercelにデプロイするときはvercelのビルド設定を変える必要があるっぽい
vercelのデプロイ、masterにpushするだけでいいんだけど時々謎のエラーを吐いて落ちてる
ReDeployすればいいだけだけど
そのままpages/api/revalidate.js
を作って呼び出すとエラーになる
Error: "hostname" and "port" must be provided when starting next to use "unstable_revalidate".
See more here https://nextjs.org/docs/advanced-features/custom-server
カスタムサーバー使ってるみたいだからserver.js
にhostname
と port
を足せばいいと言ってるように見える
server.js
ないが?
それっぽいのはproject.json
かな
serve
のoptions
にとりあえず"hostname": "localhost","port": 4200
追加してみる
動いた。ちゃんとキャッシュも削除されているっぽい
Vercel上でもとりあえずこれで動いてはいるがカスタムサーバーとserver.js
がどういうものなのかは別途調べないといけない
検証したリポジトリとデプロイしたもの
rewritesルールを設定しているときにrewritesする側のパスでもrevalidate出来るのか試す
nx
でrewrites
を書く場合はwithNx
の引数に食わせる感じらしい
デプロイして試した。
rewritesしたURLでもきちんとrevalidate動作していそう。
このスクラップは2022/07/22にクローズされました