2017-07-31 8 views
1

Angular2/4でプロダクションビルドのビルド時に、自分の選択したコードの一部またはコンポーネントを削除する方法はありますか?プロダクションビルドのいくつかのコンポーネントをAngular2に残しますか?

ローカルに使用する管理ツールを持っているアプリがあります。私は、この管理ツールをアプリケーションのプロダクションバージョンから除外したいと思います。私はもちろん、ビルドを行うたびにコードにコメントすることができますが、より洗練されたソリューションがいくつかありますか?コードの特定の部分の条件付きビルドと同じですか?

私は* ngIf = "buildingForProduction"のようなものを探しています。この方向の何かの解決策です。それは存在しますか?

+0

「angular-cli」を使用している場合は、「環境」ファイルを使用できます。https://github.com/angular/ angular-cli/wiki/stories-application-environments – cyrix

+0

環境が生産されているときに管理者関連のものをすべて追加するだけで、ルートとモジュールのインポートを動的に構築してください。 – cyrix

+0

どこでこの管理ツールを参照していますか? –

答えて

1

@ cyrixの回答に基づいています。

ang cliを使用している場合は、environment.prod.tsファイルとenvironment.tsファイルがデフォルトで含まれているenvironmentというフォルダがあります。それに応じてアプリを設定したい場合は、さまざまなビルドにもっと追加することができます。

export const environment = { 
    production: false, 
    myVariable: 'This variable is not included in production build' 
}; 

アプリを構築

ng build --env=prod 

とその後ANG CLIはenvironment.prod.tsを使用します。

これらのファイルには、このようなオブジェクトが含まれています。

ng build 

デフォルトの環境.tsが使用されます。

この環境オブジェクトに変数を追加することで、アプリケーション内で変数を読み込んで変数を読み取ることができます。このように、製造現場にいるかどうかを確認することができます:

-1

解決策の1つは、tsconfig.jsonを変更し、除外するフォルダまたはファイルを追加することです。

"exclude": [ 
    "**/*file.ts", 
    "**/*config.ts" 
] 

残念ながらあなただけのこの機能はすぐにhttps://github.com/Microsoft/TypeScript/issues/3645を来見てほしい、DEV、PRODのように複数のを持っていいだろうプロジェクトごとに1つのtsconfig.jsonファイルを持つことができます。それが役に立てば幸い。

+0

ファイルをインポートしてプロジェクト内で使用する場合、ファイルを除外しません。また、angle-cliまたはwebpackでは、環境に依存する複数のtsconfigを持つことができます。 – cyrix

関連する問題