Angular 6 - angular.json - 通过重命名复制资产

Wan*_*ker 5 angular ng-packagr angular6

我正在尝试在 ng build 的资产副本期间重命名文件

这是我在angular.json:

        "outputPath": "dist",
        "assets": [
          ...,
          {
            "glob": "favicon-v1.png",
            "input": "src/client",
            "output": "/favicon.png"
          },
          ...,
        ],
Run Code Online (Sandbox Code Playgroud)

不是创建文件dist/favicon.png,ng build而是创建一个dist/favicon.png/favicon-v1.png.

它似乎拒绝重命名文件 - 它总是使用我想使用的名称创建一个文件夹,favicon.png然后将原始文件放入其中。

这是预期的行为吗?任何不是文件重命名解决办法等favicon-v1.png,以favicong.png在源头控制?

我在用:

    "@angular/cli": "^6.1.5"

    "@angular/animations": "^6.0.1",
    "@angular/common": "^6.0.1",
    "@angular/compiler": "^6.0.1",
    "@angular/core": "^6.0.1",
    "@angular/forms": "^6.0.1",
    "@angular/http": "^6.0.1",
    "@angular/platform-browser": "^6.0.1",
    "@angular/platform-browser-dynamic": "^6.0.1",
    "@angular/router": "^6.0.1",
    "@angular/upgrade": "^6.0.1",
Run Code Online (Sandbox Code Playgroud)

更新:类似的代码在 Angular 5 中与 angular-cli.json 一起工作正常。

Ale*_*esD 5

您不能像这样重命名文件,因为输入和输出属性是文件夹。请查看此处的文档。我不知道你到底为什么需要它,但你可以将 v1 图标放在已经有最终名称的 v1 子文件夹中,然后当你需要 v1 时,你可以使用资产设置从 v1 文件夹复制到输出图标。否则,您始终可以使用自定义库或自定义脚本来执行此操作并将其从资产中删除。