programing

Angular 6에서 ng serve를 통해 환경을 설정하는 방법

javamemo 2023. 6. 4. 10:14
반응형

Angular 6에서 ng serve를 통해 환경을 설정하는 방법

Angular 5.2 앱을 Angular 6으로 업데이트하려고 합니다.Angular 업데이트 가이드의 지침을 성공적으로 따랐습니다(업데이트 포함).angular-cliv6)를 통해 앱을 제공하려고 합니다.

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, Optimizer, 환경 파일 등)에 대한 설정을 보다 세밀하게 제어할 수 있습니다.

"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), 먼저 수정해야 합니다.builddev2 구성을 추가하는 섹션

"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 dev2dev2 구성 파일을 사용합니다.

대답은 좋은 것 같습니다.
하지만, 그것은 결과적으로 오류로 나를 이끌었습니다.
Configuration 'xyz' could not be found in project ...
빌드 오류입니다.
업데이트된 빌드 구성뿐만 아니라 서비스 구성에도 필요합니다.

그러니 혼란을 남기지 않기 위해:

  1. --env에서 지원되지 않습니다.angular 6
  2. --env로 바뀌었습니다.--configuration||-c(이제 더 강력해졌습니다.)
  3. 다양한 환경을 관리하기 위해 새 환경 파일을 추가하는 것 외에, 이제 몇 가지 변경 작업을 수행해야 합니다.angular.json파일:
    • 빌드에 새 구성 추가 { ... "build": "configurations": ...소유물
    • 새 빌드 구성에는 다음 항목만 포함될 수 있습니다.fileReplacements부품, (그러나 더 많은 옵션을 사용할 수 있음)
    • 서버에 새 구성 추가 { ... "serve": "configurations": ...소유물
    • 새로운 서버 구성은 다음을 포함해야 합니다.browserTarget="your-project-name:build:staging"

Angular는 더 이상 --env를 지원하지 않습니다. 대신 사용해야 합니다.

ng serve -c dev

개발 환경 및

ng serve -c prod 

생산용의

참고:-c또는--configuration

시도할 수 있습니다.ng serve --configuration=dev/prod

용도:ng build --prod --configuration=dev

당신이 다른 종류의 환경을 사용하고 있기를 바랍니다.

Angular 2 - 5의 경우 Multiple Environment in Angular 항목을 참조하십시오.

의 Angular 6 사용을 합니다.ng serve --configuration=dev

참고: 각도 6에 대해서도 같은 문서를 참조하십시오. 이 어디를 찾든 간에--env대신에 사용합니다.--configuration각진 6에 잘 맞습니다.

명령을 사용할 수 있습니다.ng serve -c dev을 위해 개발환용경ng serve -c prod

건물 또한 동일하게 적용됩니다.사용할 수 있습니다.ng build -c dev dev build

Angular 6이 빌드하려면 이 명령을 사용합니다.

ng build --prod --configuration=dev

이것은 Angular 12에서 작동합니다.

1단계:

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

2단계: npxng myapp 실행:dll --configuration=dll

언급URL : https://stackoverflow.com/questions/50174584/how-to-set-environment-via-ng-serve-in-angular-6

반응형