1. ホーム
  2. アンギュラー

[解決済み】Angular 6 で `ng serve` を使って環境を設定する方法

2022-04-05 12:56:09

質問

Angular 5.2のアプリをAngular 6にアップデートしようとしています。Angularのアップデートガイドの指示にうまく従いました。 angular-cli でアプリを提供しようとしています。

ng serve --env=local

しかし、これではエラーが発生します。

不明なオプション:'--env'

複数の環境を使っている( dev/local/prod ) で、これはAngular 5.2で動作していた方法です。Angular 6で今環境を設定するにはどうしたらいいですか?

解決方法は?

を使用する必要があります。 configuration オプション(これは ng buildng 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 セクションを作成します。ですから、もしあなたが ng serve を特定の environment ファイル(例えば 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 セクションに新しいコンフィギュレーションを追加してください。 dev2 build を宣言しました。

"serve":
      "configurations": {
        "dev2": {
          "browserTarget": "projectName:build:dev2"
        }

次に ng serve -c dev2 この場合、dev2 の設定ファイルが使用されます。