Я использую Laravel 5.4 и Laravel Mix для вывода файлов SASS.Laravel Mix и SASS меняют каталог шрифтов
В моих определениях шрифтов я настраиваю их так, чтобы при выводе CSS он указывал на файлы, такие как public/assets/fnt/font-name/filename.ext
, но процессор меняет вывод так, что вместо этого он укажет на public/fonts/filename.ext
. Есть ли способ остановить его от изменения выходных путей?
Мне не имеет никакого значения, что по умолчанию это сделает что-то подобное.
Редактировать
Я видел, что по умолчанию они используют в Mix является виновником:
module.exports.module = {
rules: [
// ...
{
test: /\.(woff2?|ttf|eot|svg|otf)$/,
loader: 'file-loader',
options: {
name: 'fonts/[name].[ext]?[hash]',
publicPath: '/'
}
}
]
};
Я попытался с помощью null-loader
вместо file-loader
, но вместо этого он заставляет его сбой, потому что он не может найти файлы в node_modules
, который не там, где он должен выглядеть в первую очередь.
Удаление правила в результатах вопроса в потоке ошибок от попыток открыть и оценить файлы шрифтов в вопрос:
error in ./public/assets/fnt/fanfare-jf/fanfare-jf.ttf
Module parse failed: DIRECTORY\public\assets\fnt\fanfare-jf\fanfare-jf.ttf Unexpected character '' (1:0)
You may need an appropriate loader to handle this file type.
(Source code omitted for this binary file)
@ ./~/css-loader!./~/postcss-loader!./~/resolve-url-loader!./~/sass-loader?sourceMap&precision=8!./resources/assets/sass/app.scss 6:2525-2590
@ ./resources/assets/sass/app.scss
@ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss
я могу по крайней мере, добавить emitFiles: false
к options
, чтобы предотвратить его изготовление копий файл, но пути все еще изменяются.
Возможно, вы отметили этот вопрос как Webpack-2? Структура конфигурации будет значительно отличаться от погрузчиков и опций. – rxgx
Да, это правильно. –