webpack-bundle-analyzerというバンドルサイズ可視化プラグインを使って、Angular CLIで作成したプロジェクトのバンドルサイズを可視化する方法を紹介します。
今回紹介する方法では、Angular CLIが公式に用意しているオプション--stats-json
を使用するため、 「ng eject
してwebpackの設定ファイルを編集する」などの手順は不要です。
前提
以下の環境で、ng new
したプロジェクトを使って説明を進めます。
$ ng -v
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 1.6.7
Node: 9.2.0
OS: darwin x64
Angular:
...
$ ng new bundle-analyzer-test
手順
ビルド
まずは、ng build
コマンドで対象のアプリケーションをビルドします。
この時、ビルドステータスファイルを出力するように--stats-json
オプションをつけます。
$ ng build --prod --stats-json
ビルド生成物が保存されているdist以下を確認するとstats.json
が保存されていることが確認できます。
webpack-bundle-analyzerのインストール
Angular CLIで作成したプロジェクトに対して、webpack-bundle-analyzerをインストールします。
$ npm install --save-dev webpack-bundle-analyzer
...
"webpack-bundle-analyzer": "^2.10.0"
}
}
npm run bundle-stats
でwebpack-bundle-analyzerが立ち上がるようにpackage.json
に設定を追記します。
{
...
"scripts": {
...
"bundle-stats": "webpack-bundle-analyzer dist/stats.json"
},
...
確認
ここまでの手順で準備は完了です。
npm run bundle-stats
を実行すると、ブラウザでhttp://localhost:8888が立ち上がりバンドルサイズが可視化されます。
参考
https://github.com/angular/angular-cli/wiki/build
https://webpack.js.org/api/stats/
https://qiita.com/yuki-takei/items/de23633fe2cfbab9a08c