技術とかの雑なToday I Learnedメモ

Module not found: Can't resolve 'fs'

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だろうがなんだろうがプルリクにします。