Angular 6에서 ng serve를 통해 환경을 설정하는 방법
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, 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), 먼저 수정해야 합니다.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 구성 파일을 사용합니다.
이 대답은 좋은 것 같습니다.
하지만, 그것은 결과적으로 오류로 나를 이끌었습니다.
Configuration 'xyz' could not be found in project ...
빌드 오류입니다.
업데이트된 빌드 구성뿐만 아니라 서비스 구성에도 필요합니다.
그러니 혼란을 남기지 않기 위해:
--env
에서 지원되지 않습니다.angular 6
--env
로 바뀌었습니다.--configuration
||-c
(이제 더 강력해졌습니다.)- 다양한 환경을 관리하기 위해 새 환경 파일을 추가하는 것 외에, 이제 몇 가지 변경 작업을 수행해야 합니다.
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
'programing' 카테고리의 다른 글
처음 사용한 후에도 할당된(재) 변수(글로벌이어야 함)를 사용하려고 하는 UnboundLocalError (0) | 2023.06.04 |
---|---|
사용자가 목록 항목을 마우스로 가리킬 때 커서를 손으로 바꾸는 방법은 무엇입니까? (0) | 2023.06.04 |
Xcode 파생 데이터 폴더의 내용을 안전하게 삭제할 수 있습니까? (0) | 2023.06.04 |
Google Colab의 연결 해제를 방지하려면 어떻게 해야 합니까? (0) | 2023.06.04 |
사이톤의 setup.py 에서 파이썬 3 소스를 지정하는 방법은 무엇입니까? (0) | 2023.06.04 |