標準の_ng build --prod
_コマンドを使用してAngular 5アプリケーションをビルドしようとし、_environment.prod.ts
_の基本的なAPI-Urlを_process.env
_に依存する値に設定したい変数。
これは私のファイルです:
_export const environment = {
production: true,
apiUrl: `${process.env.BASE_URL}` || 'http://localhost:8070/',
};
_
しかし、アプリケーションをビルドしようとすると、次のエラーが発生します。
ERROR in src/environments/environment.ts(7,16): error TS2304: Cannot find name 'process'.
アプリケーションをビルドするときに、env変数に従ってAPI-Urlを設定するにはどうすればよいですか?
Angularコードのコンパイル時にprocess.env
にアクセスすることはできません。
process.env
はNode
アプリケーションで利用できますが、Angularアプリケーションは利用できません。
いくつかのオプションがあります:
1)ビルドパイプラインで何らかのタスクを作成し、本当に動的である必要がある場合は、環境ファイルを正しい値で更新します。
2)それをハードコーディングし、各環境に合わせていくつかの環境ファイルを作成します。 angular-cli.jsonで環境を指定できます。
オプション番号2は、あなたにぴったりかもしれません。その場合、これをangle-cli.jsonに追加します:
"environments": {
"dev": "path/to/dev/env",
"prod": "path/to/prod/env"
}
ng build --env=prod
を使用してアプリを構築します。
詳細な情報は次のとおりです。 https://alligator.io/angular/environment-variables/