私は最近、Angular v5.2.4がAngular-CLI v1.7.4と提携し、Angular v6.0.3がAngular-CLI v6.0.8と提携しました。
私のプロジェクトでは、動的コンポーネントを使用しているため、JITコンパイラが必要です。結果として、私のビルドスクリプトはng build --prod --no-aot
でした。
--prod
フラグを引き続き使用して、ツリーの揺れ、コードの最小化、およびデッドコードの排除の利点を維持する必要があります。ただし、デフォルトでは--prod
はAOTを有効にします。 --no-aot
オプションは、以前はAOTを無効にするソリューションでしたが、それでも--prod
ビルドのメリットを享受しています。
私は次のオプションを試してみましたが、ビルドが成功していないことがわかります(標準の--prod
ビルドを除く)。 CLIから情報が返されません。これはあまり役に立ちません。
Official Angular Deployment Docs と Official Angular-CLI build Wiki を読みましたが、この問題の解決に役立ちます。
--no-aot
オプションの置き換えが何かを誰かが知っていますかOR AOTを無効にしながら--prod
ビルドを行う新しい方法?
コマンドラインからこれを行うには、--prod
オプションと共に次のオプションを使用します。
--aot=false --build-optimizer=false
完全なコマンド:
ng b --prod --aot=false --build-optimizer=false
コマンドラインで毎回これを行うのを避けたい場合は、angular.jsonで本番環境のビルドオプションを変更できます。
ファイルの次のパス
projects/your-project/achitect/build/configurations/production
aot
およびbuildOptimizer
オプションをfalse
に変更します。その後、コマンドラインからng b --prod
を実行するだけで、aot
およびbuild-optimizer
オプションを含まない製品ビルドを取得できます。
JBとJonに感謝します。
あなたはこれを試すことができます:
ng build --prod --aot=false --build-optimizer=false