Данное решение "resourcesOutputPath": "images"
отлично работает для изображения.Но, к сожалению, если нам нужно сделать то же самое для других ресурсов, таких как *.js
или *.ttf
файлы и т.д ..., это не будет работать.
Вот как я это делаю для *.js
файлов: в файл package.json
, ниже узла scripts
, я добавляю скрипт с именем postbuild
, который будет:
- Переместите файлы в выделенную папку (
resources
в моем примере) - Найдите и замените
<script src="*.js"></script>
в index.html
на <script src="resources/*.js"></script>
.Поиск и замена выполняются с помощью sed
строки комманд (обратите внимание, что есть некоторая разница с sed
commande lin на Linux или MacOS).
Вот окончательный вид моего package.json
файл:
{
"name": "my-project",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve --proxy-config proxy.conf.json",
"build": "ng build",
"postbuild": "mv ./dist/my-project/*.js ./dist/my-project/*.js.map ./dist/my-project/resources; sed -i -e 's/src=\"/src=\"resources\\//g' dist/my-project/index.html",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
}
}