WebpackにおけるCan't resolve 'fs'の解決方法

コンパイルするときに Module not found: Error: Can't resolve 'fs' が出る問題がなかなか解決できず,ようやく原因が分かったので書き残しておきます.

Caution

サーバサイドの場合はこの方法で解決できますが,フロントで使うときは別の方法になります.

https://blog.mktia.com/cant-resolve-fs-on-nuxtjs

原因

Webpack は複数の環境でコンパイルできるように作られており,設定ファイル内の target で記述する必要があるようです.

デフォルトでは target: 'web' になっています.ブラウザのような環境で使うときの設定です.

解決方法

Module not found というエラーだったのでパッケージが入っていないのではないかと考えてハマっていましたが,Node.js 環境でのコンパイルをするように設定すれば動きました.

module.exports = {
  ... ,
  target: 'node',
  ...
}

参考

webpack で「Module not found: Error: Can't resolve 'fs'」と出てきた時の対処法 | みかんのメモ帳