web-dev-qa-db-ja.com

Angular-CLI v6:同等の--no-aotビルドオプション

私は最近、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から情報が返されません。これはあまり役に立ちません。

enter image description here

Official Angular Deployment DocsOfficial Angular-CLI build Wiki を読みましたが、この問題の解決に役立ちます。

--no-aotオプションの置き換えが何かを誰かが知っていますかOR AOTを無効にしながら--prodビルドを行う新しい方法?

8
Narm

コマンドラインからこれを行うには、--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に感謝します。

15
R. Richards

あなたはこれを試すことができます:

ng build --prod --aot=false --build-optimizer=false
0
Gunjan Kumar