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になった。

hosting disk

参考


Related #next.js

Next.js使用時にrecoil-persistのStorageを変更する

クライアント側で実行された場合のみstorageを指定するようにした

Next.jsで環境に応じて特定のページを非表示にする

NODE_ENVでredirectsを出し分けた

Next.jsで動的URLをRewriteする

next.config.jsにrewritesを追加

Next.js + typescriptでpathsのエイリアスがModule not foundになる

next.config.jsに追記する必要があった

Next.js + Algoliaで全文検索UIを実装する

react-instantsearchを利用