Я создал приложение, использующее Yeoman и AngularJS (и все, что с ним связано, как Grunt и Bower).
Все работает отлично, когда выполняется локально с помощью grunt serve
. Однако после запуска grunt и развертывания приложения есть несколько недостающих активов, и я не уверен, что лучший способ его решить.
Во-первых, запуск Grunt, похоже, копирует изображения на dist, но переименовывает их без корректировки ссылок в CSS. app/images/uparrow.png
становится dist/images/3f84644a.uparrow.png
.
Вот строка из main.scss:
.table.sortable th.sorted-asc { background-image: url(../images/uparrow.png); }
Когда он компилируется в CSS во время процесса сборки, он не переписывает путь, поэтому браузер пытается загрузить dist/images/uparrow.png
, который отсутствует.
Во-вторых, возникает проблема с загрузкой шрифтов для модуля Bootstrap. Загрузочный CSS в app/bower_components/bootstrap/dist/css/bootstrap.css
ссылки ../fonts/glyphicons-halflings-regular.woff
. Относительный путь разрешается до app/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.wof
и работает отлично.
Как только построено, поставщик CSS объединяется и минимизируется в один файл CSS в dist/styles/8727a602.vendor.css
. Относительный путь к шрифту не переписывается. Поэтому он пытается искать шрифты в папке dist/fonts
, а не dist/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.wof
, где файл фактически есть.
Любые советы очень ценятся.