37
34

More than 5 years have passed since last update.

angular.jsonの中身

Last updated at Posted at 2018-12-20

angular-cli 7.1.2で確認しました。
ng newで生成されるプロジェクトのangular.jsonの中身について、よく使う項目の調査です。

ルートオブジェクト

  • $schema
     このファイルに関するJSON Schemaの定義ファイル
     "./node_modules/@angular/cli/lib/config/schema.json"
     固定
     https://github.com/angular/angular-cli/blob/master/packages/angular/cli/lib/config/schema.json

  • version
     "1" 固定

  • cli
     生成時にはない。
     ngコマンド全般に対するデフォルトオプションを設定できる。

  • schematics
     生成時にはない。
     generate系のコマンドライン引数のデフォルトを設定できる。
     また、ngコマンドで生成するものを拡張していける(自作可)。

  • newProjectRoot
     "projects"
     ng generate libraryした際の保存先フォルダ

  • defaultProject
     複数のprojectがある場合のデフォルトを指定する
     ng generateやng buildする際にproject名を指定していない場合に利用される

  • projects
     プロジェクト名をキーにした各プロジェクトの詳細設定がある。

cliの中身

項目名 説明
defaultCollection schematicsのデフォルトを設定する
packageManager "npm", "cnpm", "yarn"からパッケージマネージャーを設定する
warnings ※1

※1 warningsの中身

項目名 説明
versionMismatch グローバルとローカルのバージョン違いの警告を表示する
typescriptMismatch typescriptのバージョンの警告を表示する

projectsの中身

項目名 説明
cli ルートオブジェクトと同様
schematics ルートオブジェクトと同様
prefix generateするものに対してつくprefix
root プロジェクトのrootになるフォルダ
sourceRoot assetsやindex.htmlがあるソースのフォルダ
projectType "application", "library"から選択する
architect 名称をキーにした詳細設定 ※2
targets 名称をキーにした詳細設定 ※2

※2 architectとtargetsはどちらか一つ。デフォルトではarchitectのみ。

※2 architectとtargetsの中身

項目名 説明
builder builderの設定。
@angular-devkit/build-angular:app-shell
@angular-devkit/build-angular:browser
@angular-devkit/build-angular:dev-server
@angular-devkit/build-angular:extract-i18n
@angular-devkit/build-angular:karma
@angular-devkit/build-angular:protractor
@angular-devkit/build-angular:server
@angular-devkit/build-angular:tslint
options builderに対するoption設定
configurations cliで実行時に切り替えするoption設定

build-angular:appShell の option設定の中身

項目名 初期値 説明
browserTarget ビルドターゲットとなるブラウザ
serverTarget app shellをレンダリングするサーバ
appModuleBundle サーバ用のAppModule
route / レンダーするroute
inputIndexPath
outputIndexPath

build-angular:browser の option設定の中身

項目名 初期値 説明
assets [] アセットとして含めるファイルのリスト
main エントリポイントになるスクリプトファイル
polyfills polyfill用のスクリプトファイル
tsConfig TypeScript設定ファイルのパス
scripts [] グローバルな(index.htmlに直接読み込ませる)スクリプトファイルのリスト
styles [] グローバルなスタイルシートのリスト。extractCssがtrueだと単独のstyles.cssに書き出される。
stylePreprocessorOptions scss等のプリプロセッサのオプション(includePaths)
optimization 最適化する。{scripts: true, styles: false} というような個別設定も可能
fileReplacements ファイル差し替え。主にenvironmentファイルに使われる。
outputPath ビルドした生成物が出力されるフォルダ
resourcesOutputPath styleの出力フォルダ。outputPathからの相対。
aot false Ahead of Time compilation(事前コンパイル)を有効にする
sourceMap true sourceMapを出力する。{scripts: true, styles: true, hidden: false, vendor: true}というような個別設定も可能
vendorSourceMap false ライブラリのsourceMapを出力する
evalSourceMap false in-file evalスタイルのsourceMapを出力する
vendorChunk true ライブラリだけで単独のファイルにする。ライブラリは変更頻度が低いため。
commonChunk true 複数にまたがるコードを共通ファイルにする。
baseHref index.htmlにタグとして出力されるパス。サブフォルダで使うような場合に設定する。
deployUrl 出力ファイルを読み込む際のパス。Urlという名前だけどパス指定。
verbose false ビルド時の出力
progress true ビルド時の進捗度合い表示
i18nFile i18n(国際化)で利用するファイル
i18nFormat i18nで利用するフォーマット
i18nLocale i18nで利用するロケール
i18nMissingTranslation i18nで訳がない場合の出力
extractCss false グローバル指定のcssを展開する
watch false ファイル変更を監視して自動的に再ビルドする
outputHashing "none" 出力ファイル名にハッシュをつける。キャッシュバスター。"none","all","media","bundles"
poll watchする際の監視間隔をミリ秒で設定
deleteOutputPath true ビルド前にoutputPathを削除する
preserveSymlinks false シンボリックリンクをリアルパスに変換する
extractLicenses true 利用ライブラリのライセンスファイルをまとめる
showCircularDependencies true 循環参照を表示する
buildOptimizer false aot利用時、@angular-devkit/build-optimizerを有効にする
namedChunks true 遅延読み込みのファイルに名前をつける
subresourceIntegrity false サブリソース。(よくわかっていない)
serviceWorker false ServiceWorkerのconfigを出力する
ngswConfigPath ngsw-configファイルへのパス。ServiceWorker関連。
skipAppShell false app-shell関連をビルドしない
index index.htmlファイルのパス
statsJson false webpack-bundle-analyzer で使うstats.jsonの出力
forkTypeChecker true TypeScriptの型チェッカーをforkモードで使う
lazyModules [] 遅延読み込みするNgModuleのリスト。大抵はrouterモジュールが自動的にやってくれる。
budgets [] 生成ファイルのファイルサイズ制限を設定できる。気軽に巨大なライブラリをimportすると使わないコードが大量に含まれてしまったりするのを警告する。

build-angular:devServer の option設定の中身

項目名 初期値 説明
browserTarget 対象にするbuild
port 4200 ポート。複数アプリ開発時に4201等違うポートに設定できる。
host "localhost" ホスト。0.0.0.0等にすると同じLAN内の違うマシンからアクセスできる。別OSやスマホからの確認に。
proxyConfig proxyConfigファイルのパス
ssl false SSL設定
sslKey SSL設定
sslCert SSL設定
open false 初回ビルド時にデフォルトブラウザを開く
liveReload true ビルド時に自動リロードする
publicHost ホスト名の制限
servePath サーブするパス
disableHostCheck false ホスト名のチェック
hmr false hot module replacementを有効にする
watch true ファイル変更を監視して自動的に再ビルドする
hmrWarning true hmr有効にする時の警告を表示する
servePathDefaultWarning true deploy-url/base-hrefが利用されている際の警告を表示する
optimization 最適化する。{scripts: true, styles: false} というような個別設定も可能
aot Ahead of Time compilation(事前コンパイル)を有効にする
sourceMap true sourceMapを出力する。{scripts: true, styles: true, hidden: false, vendor: true}というような個別設定も可能
vendorSourceMap false ライブラリのsourceMapを出力する
evalSourceMap in-file evalスタイルのsourceMapを出力する
vendorChunk ライブラリだけで単独のファイルにする。ライブラリは変更頻度が低いため。
commonChunk 複数にまたがるコードを共通ファイルにする。
baseHref index.htmlにタグとして出力されるパス。サブフォルダで使うような場合に設定する。
deployUrl 出力ファイルを読み込む際のパス。Urlという名前だけどパス指定。
verbose ビルド時の出力
progress ビルド時の進捗度合い表示
37
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
34