Answers:
您需要使用新configuration
选项(同样适用于ng build
和ng serve
)
ng serve --configuration=local
要么
ng serve -c local
查看angular.json
文件后,您会发现可以更好地控制每个配置的设置(自动配置,优化程序,环境文件...)
"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配置文件
baseHref
选择
VSCode
。在Angular 6
课程。因此,ng serve
启动Chrome
浏览器时,该命令将包括远程调试器端口。
这个答案似乎很好。
但是,由于
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"
你可以试试: ng serve --configuration=dev/prod
要构建使用: ng build --prod --configuration=dev
希望您使用的是另一种环境。
对于Angular 2-5,请参阅《 Angular中的多重环境》一文。
对于Angular 6使用 ng serve --configuration=dev
注意:角度6也请参考同一篇文章。但是,无论您在哪里找到,都可以
--env
使用--configuration
。这对于角度6来说效果很好。
Angular不再支持--env,而是必须使用
ng serve -c dev
用于开发环境,以及
ng serve -c prod
用于生产。
注意:-c
或--configuration
-c
(带单破折号)或--configuration
(带双破折号)。
angular-cli
与整个应用一起更新,所以我认为它很明显:]