Angular 7 build app - замените URL ресурсов на реальный URL

В приложении 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 ответ

Вы могли бы заменить

 "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

:-)

Другие вопросы по тегам