Next.jsのfetch()
web標準のfetch()だが、optionsが拡張されている
Data Fetching: Fetching | Next.js
https://nextjs.org/docs/app/api-reference/functions/fetch
static data fetching
fetch('https://...');
defaultでforce-cacheする
手動で無効化されるまでキャッシュする
getStaticPropsに似てる
一度生成したらそれを使い続ける感じ
これはbuild時に行ってcacheし続けるってことかmrsekut.icon
fetch('https://...', { next: { revalidate: 10 } });
10秒間の有効期限でキャッシュされる
getStaticPropsにrevalidateを指定したものに似ている
https://beta.nextjs.org/docs/data-fetching/revalidating
dynamic data fetching
fetch('https://...', { cache: 'no-store' });
すべてのreqで新しいデータをfetchする
getServerSidePropsに似てる
SSR的
認証しないと見れないページの内容とか、カートの中身とか
Next.jsのCache
https://github.com/vercel/next.js/blob/03e5f5e18d0e8b6858a6326d3ad2030602eb15ae/packages/next/src/compiled/react/cjs/react.shared-subset.development.js#L202
このへんだろうか
code:js
{
if (typeof fetch === 'function') {
var originalFetch = fetch;
originalFetchを退避させて、cacheについてごにょごにょしている
vercel/fetch
https://github.com/vercel/fetch
これとは別物っぽいなmrsekut.icon
これは単に、node.js環境内でfetchを使おうとして自前で実装してるやつ
実際はもうNode.jsに入ったので不要になるはず