Mar*_*mek 135 angular-cli angular angular6
我正在尝试将Angular 5.2应用程序更新为Angular 6.我成功地遵循了Angular更新指南中的说明(包括更新angular-cli到v6),现在我正在尝试通过
ng serve --env=local
Run Code Online (Sandbox Code Playgroud)
但这给了我错误:
未知选项:' - env'
我使用多个环境(dev/local/prod),这就是它在Angular 5.2中的工作方式.如何在Angular 6中设置环境?
Dav*_*vid 241
您需要使用新的configuration选项(这适用于ng build和ng serve也)
ng serve --configuration=local
Run Code Online (Sandbox Code Playgroud)
要么
ng serve -c local
Run Code Online (Sandbox Code Playgroud)
如果你查看你的angular.json文件,你会发现你可以更好地控制每个配置的设置(aot,optimizer,environment files,...)
"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"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在此处获取有关管理环境特定配置的更多信息.
正如下面的其他响应中所指出的,如果您需要添加新的"环境",则需要向构建任务添加新配置,并根据您的需要添加到服务和测试任务.
添加新环境
编辑:要清楚说明,必须在该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
},
Run Code Online (Sandbox Code Playgroud)
然后修改您的serve部分以添加新配置,指向您刚刚声明的dev2 build配置
"serve":
"configurations": {
"dev2": {
"browserTarget": "projectName:build:dev2"
}
Run Code Online (Sandbox Code Playgroud)
然后你可以使用ng serve -c dev2,它将使用dev2配置文件
gar*_*l61 40
该/sf/answers/3512227561/答案似乎不错.然而,它导致我出错,因为它导致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" 小智 15
Angular 不再支持 --env 而你必须使用
ng serve -c dev
Run Code Online (Sandbox Code Playgroud)
对于开发环境,
ng serve -c prod
Run Code Online (Sandbox Code Playgroud)
用于生产。
注:-c或--configuration
你可以试试: ng serve --configuration=dev/prod
要构建使用: ng build --prod --configuration=dev
希望您使用的是另一种环境。
| 归档时间: |
|
| 查看次数: |
78761 次 |
| 最近记录: |