9

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

这是我用过的angular.json

        "outputPath": "dist",
        "assets": [
          ...,
          {
            "glob": "favicon-v1.png",
            "input": "src/client",
            "output": "/favicon.png"
          },
          ...,
        ],

不是创建文件dist/favicon.pngng 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",

更新:在 Angular 5 中,类似的代码在 angular-cli.json 中运行良好。

4

1 回答 1

2

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

于 2018-11-17T21:03:23.743 回答