Nuxt Nation カンファレンスが開催されます。11月12日~13日にご参加ください。

nuxt-payload-analyzer

Nuxtペイロードサイズを分析する

Nuxtペイロードアナライザー

npm versionnpm downloadsLicenseNuxt

Nuxtアプリケーションのペイロードサイズを分析するために使用されるNuxtモジュールです。

Nuxtアプリケーションを生成する場合、useFetchおよびuseAsyncDataからのペイロードは、実行時にフェッチされるJSONファイルに抽出されます。これらの関数の出力をフィルタリングし忘れると、アプリケーションの速度を低下させる巨大なペイロードが生成される可能性があります。たとえば、Nuxt Contentを使用して記事のリストを生成する場合、出力から使用されない記事の本文を削除し忘れる可能性があります。簡単に150kBを超えるペイロードになる可能性があります。

このモジュールは、これらのミスを検出するのに役立ちます。

機能

  • ビルド時にNuxtアプリケーションのペイロードサイズを分析する
  • ペイロードが大きすぎる場合はビルドを拒否する
  • CLIを使用してペイロードをローカルで分析する
  • Nuxtアプリケーションのペイロードのレポートを出力する

使用方法

このモジュールは2つの方法で使用できます

  • Nuxtモジュールとして
  • CLIとして

Nuxtモジュール

モジュールをインストールする

npm install nuxt-payload-analyzer

nuxt.config.tsにモジュールを追加する

export default defineNuxtConfig({
  modules: [
    'nuxt-payload-analyzer'
  ]
})

これで準備完了です!モジュールはビルド後にペイロードを分析し、レポートを出力します。アプリケーションを生成してみてください。次のようなものが表示されるはずです。

 Nuxt Payload Analyzer
  ├─ about
  └─ _payload.json (117.3 KB) [TOO BIG]
  └─ _payload.json (62 B)
 Payloads analyzed

CLI

npxを使用するだけです

npx nuxt-payload-analyzer@latest

これで完了です。 CLIは上記と同様のレポートを出力します。

--cwdオプションを使用して、Nuxtアプリケーションのディレクトリを指定できます。

npx nuxt-payload-analyzer@latest --cwd ./my-nuxt-app

オプション

以下のオプションは、NuxtモジュールとCLIで同様です。モジュールの場合、nuxt.config.tspayloadAnalyzerキーを使用する必要があります。

オプションタイプデフォルト説明
payloadSizeLevelstring'all'分析するペイロードのレベル。'all''warning'、または'error'を指定できます。
warningSizenumber1024 * 50警告をトリガーするペイロードのサイズ。
errorSizenumber1024 * 100エラーをトリガーするペイロードのサイズ。
failOnErrorbooleanfalsetrueの場合、ペイロードが大きすぎるとビルドが失敗します。

npx nuxt-payload-analyzer@latest --helpを使用して、CLIのオプションのリストを取得できます。

開発

依存関係をインストールする

pnpm install

リポジトリを準備する

pnpm run dev:prepare

スタブをビルドする

pnpm run build:stub

playgroundフォルダーにあるNuxtアプリを使用してモジュールを試す

pnpm run dev

playground Nuxtアプリを生成することもできます

pnpm run dev:generate

playgroundフォルダーでCLIを試す

pnpm run nuxt-payload-analyzer

playgroundフォルダーへの変更をコミットしないでください。

ライセンス

MITライセンス