Module not found: Can't resolve 'fs'
月別記事一覧を実装してたらエラーが出た。
とある部分を実装したら突然出て、あれ?となった。
dev serverの再起動でも直らない。
うーんと思ってとりあえず調べた。
[Error] Module not found: Can't resolve 'fs' (Next.js バージョン9.3と9.4での対処法) - Qiita
Next.js v11にあげると Module not found: Can't resolve 'fs' がでる
Next.js実行時にModule not found: Can’t resolve ‘fs’と表示された場合の対応方法 | フルスタックエンジニアライフ
いくつかヒットした。
本家のIssueもあった。
Module not found: Can't resolve 'fs'
どうやらいろんなところで起きているらしく、フロントエンド側でfsを叩くとこうなるとのこと。
で、まあ↑の記事にあるようにnext.config.js
に設定を書いて再起動してみたけど結局動かず(エラーは変わった)
悩んでいたけど、ふと冷静になって考えたらfsを叩いている関数をコンポーネント内ではなくgetStaticPropsで叩いて結果をpropsで渡せばいいよねとなり、無事解決。
SSGすることを前提にしてても、静的生成されたサイトからfsは叩かんだろみたいなことがすっぽ抜けたりするので、意外とこういうのにハマりがちだというのが分かった。ハマっといてよかった、次からはたぶん大丈夫。
そしてまだプルリクを作っていないことを思い出した。自分は手元にコミットせず溜めて最後にgit add -pとかで分けてコミットしてしまう癖があり、早くこれを直さないとなと思っている。
ので、今日にはDraftだろうがなんだろうがプルリクにします。