【问题标题】:Angular 10 FileReplacements not working for AssetsAngular 10 FileReplacements 不适用于资产
【发布时间】:2021-04-23 12:25:39
【问题描述】:

我们目前正在将项目从 Angular 8 升级到 10,并且在构建期间我们遇到了文件替换问题。我们有 2 种具有不同文本的不同样式,这些样式过去是通过在配置中执行 FileReplacements 来选择的。 它们看起来像这样:

"fileReplacements": [
  {
    "replace": "src/index.html",
    "with": "src/index.xy.html"
  }
  {
    "replace": "src/assets/text/de.json",
    "with": "src/assets/text/de.xy.json"
  }
]

奇怪的是,对于 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",
    ...
}

【问题讨论】:

    标签: angular angular10


    【解决方案1】:

    阅读问题https://github.com/angular/angular-cli/issues/16779 似乎无意中起作用,更好的方法是将配置文件放在单独的文件夹中并设置以下资产选项

    "assets": [
      "src/favicon.ico",
      "src/assets",
      {
        "input": "src/deployment/staging",
        "output": "/",
        "glob": "*.yml"
      }
    ],
    
    【解决方案2】:

    我刚刚让我们的文件替换为 angular 10 工作,问题中的方式自 angular 9 以来已停止,并且似乎从未正式支持捆绑包之外的文件替换,因此需要更改为这种方式: 即如果你想做以下事情

     {
        "replace": "src/assets/text/de.json",
        "with": "src/assets/text/de.xy.json"
      }
    

    那么您需要在配置中对其进行更改以执行以下操作:

    ...
    "assets": [
                 ...
                 {
                    "input": "src/assets/text/xy",
                    "output": "assets/",
                    "glob": "de.json"
                  }
               ]
    ...
    

    在该代码之前,您需要创建 xy 文件夹并将您的 de.xy.json 文件放在那里,然后重命名为 de.json。

    所以上面的配置会尝试在“src/assets/text/xy”中找到“de.json”文件,并在构建到dist时复制到“assets”文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      相关资源
      最近更新 更多