У меня есть простое приложение Angular CLI (6.0.7), в котором есть некоторые ресурсы в папке src/assets/
. Некоторые из них упоминаются в файлах CSS компонентов Angular. Пример:
/* src/app/app.component.css */
.test-div {
background: url(../assets/test.png);
}
Когда я создаю проект с помощью ng build
, я получаю такую структуру вывода:
dist/
myapp/
assets/
test.png <-- This one is simply copied from the src/asssets folder
index.html
main.js
test.png <-- This one is created by magic Angular CSS processing
...
Кроме того, CSS переписан так, чтобы он указывал на файл test.png
в корне, а не на файл test.png
в папке assets
.
Мне такое поведение совсем не нравится. Я знаю, что есть некоторое преимущество при компиляции приложения в производственном режиме, который добавляет префикс хэша к файлам ресурсов, на которые ссылается CSS, чтобы предотвратить кеширование, но мне не нравится дублирование файлов и несоответствие между ресурсами, на которые ссылаются в CSS, и активами, на которые вручную ссылаются в Машинопись. Поэтому я бы предпочел отключить эту специальную обработку CSS, чтобы Angular не разрешал URL-адреса в CSS и сохранял URL-адреса как есть.
Итак, как я могу отключить эту волшебную обработку CSS Angular CLI?