Angular 7构建应用程序-用实际URL替换资产URL

时间:2018-12-28 18:36:56

标签: angular angular6 angular-cli angular7 angular-builder

在Angular 7应用程序中,我拥有不同的资产,图像,字体等。它们都位于src / assets / images或src / assets / fonts等中

我的文件按如下方式使用它们:<img src="/assets/images/img.png">

angular.json看起来像这样:

 .....
 "assets": [
          "src/favicon.ico",
          "src/assets"
        ]
 .....

我在建造时使用:

ng build --prod --build-optimizer --deploy-url=https://cdn.domain.com

这将从此处替换所有对资产资源的引用:

<img src="/assets/images/img.png">

对此:

<img src="https://cdn.domain.com/assets/images/img.png">

我的问题是在构建时如何删除assets/images路径,以便在构建输出后将是:

<img src="https://cdn.domain.com/img.png">

1 个答案:

答案 0 :(得分:0)

您可以替换

 "assets": [
    ...
    "src/assets",
    ...
  ]

通过

"assets": [
  ...
  { "glob": "**/*", "input": "src/assets", "output": "/" },
  ...
]

所有文件都将位于“ / dist / environment /”而不是“ / dist / environment /...”

然后在您的html文件中,直接使用:

<img src="/img.png">

在这里看看:https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/asset-configuration.md

:-)