next build時に.nextディレクトリを消す
Next.jsでSSG(静的サイト生成)を行いfirebase hostingを使って運用しているサービスがあるのだが、サイトのコンテンツ自体は十数ページほどなのにhostingのストレージ容量が250MBほどになっていることに気づいた。
てっきりビルド時に.nextディレクトリの中身は消えるものだと思っていたが消えておらず、ビルドのたびに.nextディレクトリの容量が増えていたのが原因だった。
詳しく追えていないが、もしかしたらdockerでbuildしていた影響かもしれない。
取り急ぎビルド時に.nextとoutディレクトリを削除するようにした。
- ディレクトリ削除のためにrimrafをインストール
yarn add -D rimraf
package.json
にclearnを追加し、build時にcleanを実行するように変更
{
"scripts": {
"dev": "next dev",
"clean": "yarn run rimraf .next out",
"build": "yarn run clean && next build && next export"
}
}
この対応後にストレージ容量を確認したら1.6MBになった。
参考
- [[RFC] cleaning distDir on next build · Discussion #6009 · vercel/next.js](https://github.com/vercel/next.js/discussions/6009)