Angular 5.2アプリをAngularに更新しようとしています6. Angular更新ガイドの指示(angular-cli
からv6への更新を含む)に従ったところ、問題ありません。経由でアプリを提供
ng serve --env=local
しかし、これは私にエラーを与えます:
未知のオプション: '--env'
私は複数の環境(dev/local/prod
)を使用していますが、これがAngular 5.2で機能していた方法です。 Angular 6で環境を設定するにはどうすればいいですか?
新しいconfiguration
オプションを使用する必要があります(これはng build
およびng serve
にも機能します)
ng serve --configuration=local
または
ng serve -c local
angular.json
ファイルを見ると、各構成(aot、オプティマイザー、環境ファイルなど)の設定をより細かく制御できることがわかります。
"configurations": {
"production": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
}
}
詳細情報を取得できます こちら 環境固有の設定を管理します。
以下の他の応答で指摘したように、新しい「環境」を追加する必要がある場合は、buildタスクに新しい構成を追加する必要があります。必要に応じて、serveおよびtestタスクにも。
新しい環境の追加
Edit:明確にするために、build
セクションでファイルの置換を指定する必要があります。したがって、特定のenvironment
ファイルでng serve
を使用する場合(たとえばdev2)、build
セクションを変更して、新しいdev2設定
"build": {
"configurations": {
"dev2": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.dev2.ts"
}
/* You can add all other options here, such as aot, optimization, ... */
],
"serviceWorker": true
},
次に、serve
セクションを変更して、新しい構成も追加し、宣言したdev2build
構成を指すようにします
"serve":
"configurations": {
"dev2": {
"browserTarget": "projectName:build:dev2"
}
その後、ng serve -c dev2
を使用できます。これは、dev2構成ファイルを使用します
https://stackoverflow.com/a/50174679/1484847 答えは良いようです。ただし、ビルド中にConfiguration 'xyz' could not be found in project ...
エラーが発生したため、エラーになりました。更新された build 設定だけでなく serve onesも必要です。
混乱しないように。
--env
はangular 6
ではサポートされていません--env
は--configuration
||に変更されました-c
(そして今ではより強力になりました)angular.json
ファイルにいくつかの変更を加える必要があります。{ ... "build": "configurations": ...
プロパティに新しい設定を追加するfileReplacements
の部分のみを含むことができます(しかしもっと多くのオプションが利用可能です){ ... "serve": "configurations": ...
プロパティに新しい設定を追加するbrowserTarget="your-project-name:build:staging"
を含みますあなたは試すことができます:ng serve --configuration=dev/prod
Useをビルドするには:ng build --prod --configuration=dev
あなたが異なる種類の環境を使っていることを願っています。
Angular 2 - 5については記事 角度付きの複数環境 を参照してください。
Angular 6にはng serve --configuration=dev
を使います
注:角度6についても同じ記事を参照してください。しかし、
--env
が見つかった場合は、代わりに--configuration
を使用してください。それは角度6のためによく働きます。
このコマンドをAngular 6に使用してビルドします。
ng build --prod --configuration=dev
開発環境にはng serve -c dev
コマンドを、運用環境にはng serve -c prod
コマンドを使用できます。
構築中にも同じが適用されます。開発ビルドにng build -c dev
を使用できます
Angularは--envをサポートしなくなりました代わりに使用する必要があります
ng serve --c dev
開発環境のため
ng serve --c prod
生産用です。お役に立てれば。