我们目前正在将项目从 Angular 8 升级到 10,并且在构建过程中的文件替换方面遇到了一些麻烦。我们有两种不同的样式和不同的文本,过去是通过在配置中执行 FileReplacements 来选择的。它们看起来像这样:
"fileReplacements": [
{
"replace": "src/index.html",
"with": "src/index.xy.html"
}
{
"replace": "src/assets/text/de.json",
"with": "src/assets/text/de.xy.json"
}
]
Run Code Online (Sandbox Code Playgroud)
奇怪的是,对于 html 文件,替换似乎有效,但对于资产则不然。我们很想让它发挥作用,并且也大致了解为什么它过去有效而现在无效。
以下是我们的 package.json 中的版本:
"dependencies": {
"@angular/common": "10.2.3",
"@angular/compiler": "10.2.3",
"@angular/core": "10.2.3",
"@angular/forms": "10.2.3",
"@angular/platform-browser": "10.2.3",
"@angular/platform-browser-dynamic": "10.2.3",
"@angular/router": "10.2.3",
...
}
"devDependencies": {
"@angular-devkit/build-angular": "~0.1002.0",
"@angular-devkit/build-ng-packagr": "~0.1002.0",
"@angular-devkit/core": "~10.2.0",
"@angular/cli": "^10.2.0",
"@angular/compiler-cli": "^10.2.3",
...
}
Run Code Online (Sandbox Code Playgroud)
小智 6
阅读问题https://github.com/angular/angular-cli/issues/16779它似乎是无意的,更好的方法是将配置文件放在单独的文件夹中并设置以下资产选项
"assets": [
"src/favicon.ico",
"src/assets",
{
"input": "src/deployment/staging",
"output": "/",
"glob": "*.yml"
}
],
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6105 次 |
| 最近记录: |