使用ng build
时可以使用不同的资产数组吗?
"assets": [
"assets",
"favicon.ico",
{
"glob": "**/*",
"input": "../externalDir",
"output": "./app/",
"allowOutsideOutDir": true
}
]
在我使用ng build
的情况下,我只想构建这个:
"assets": [
"assets",
"favicon.ico"
]
答案 0 :(得分:2)
我不相信可以选择执行特定于环境的资产。但是你可以在你的angular-cli.json中创建其他应用程序,它们基本上只是彼此的副本,但具有不同的资产。例如
// angular-cli.json
"apps": [
{
"root": "src",
"outDir": "dist",
"name": "devApp",
"assets" : [
"assets",
"favicon.ico",
{
"glob": "**/*",
"input": "../externalDir",
"output": "./app/",
"allowOutsideOutDir": true
},
],
...
},
{
"root": "src",
"outDir": "dist",
"name": "prodApp",
"assets": [
"assets",
"favicon.ico"
],
...
}
]
现在,您可以通过构建特定的" app"
来以不同方式构建资源// dev
ng build --app=0
// or
ng build --app=devApp
// prod
ng build --app=1
// or
ng build --app=prodApp
多个应用上的Angular cli docs。
答案 1 :(得分:0)
我的情况是每个环境包含不同的robots.txt文件。因此,在src/environments
文件夹中,我创建了两个文件:robots.txt
和robots.prod.txt
。在angular.json
中将其包含在assets
数组中,并按如下方式使用fileReplacements
(我仅粘贴相关部分):
"architect": {
"build": {
"options": {
"assets": [
"src/assets",
{
"glob": "robots.txt",
"input": "src/environments/",
"output": "/"
}
]
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/robots.txt",
"with": "src/environments/robots.prod.txt"
}
]
}
}
}
}
我正在使用@angular/cli: ~8.3.4
。