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

时间:2018-11-17 20:36:05

标签: angular angular6 ng-packagr

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

这是我在angular.json中使用的内容:

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

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",

更新: 类似的代码在Angular 5中的angular-cli.json上可以正常工作。

1 个答案:

答案 0 :(得分:1)

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