#laravel-mix
#laravel-mix
Вопрос:
В моем sass есть файл font.scss, который содержит следующее
@font-face {
font-weight: 400;
font-style: normal;
font-family: "TT Norms Pro Regular";
src: local("TT Norms Pro Regular"), url("TT Norms Pro Regular.woff") format("woff");
}
И шрифты находятся в том же каталоге, что и файл sass. Пример;
/05_fonts
- fonts.scss
- TT Norms Pro Regular.woff
Мой основной scss импортирует вышеупомянутые fonts.scss.
Моя проблема в том, что папка шрифтов создана в корне каталога, а не там dist/assets/fonts/
, где мне это нужно.
Изучив проблему, я обнаружил, что могу добавить mix.config.fileLoaderDirs.fonts = 'dist/assets/fonts';
в свой webpack.mix.js
файл. Это приводит к тому, что шрифты становятся dist/assets/fonts/
. Но результирующий css тогда;
@font-face {
font-weight: 400;
font-style: normal;
font-family: "TT Norms Pro Regular";
src: local("TT Norms Pro Regular"), url("/dist/assets/fonts/TT Norms Pro Regular.woff?2dbc9dffb1b3db6d23806b49fc286edf") format("woff");
}
Что неверно, это должно быть url("/assets/fonts/TT Norms Pro Regular.woff?2dbc9dffb1b3db6d23806b49fc286edf")
При добавлении mix.setResourceRoot('dist')
, а затем создании mix.config.fileLoaderDirs.fonts = '/assets/fonts';
. Создает assets/fonts
папку в корневом каталоге. Опять неверно.
Как я могу вставить шрифты в dist/assets/fonts
правильный css url("/dist/assets/fonts/TT Norms Pro Regular.woff")
?
Комментарии:
1. Последний URL-адрес является ошибкой, должен быть
url("/assets/fonts/TT Norms Pro Regular.woff")
Ответ №1:
Разобрался…
mix.setPublicPath('dist');
mix.setResourceRoot('/');