Laravel 混合 URL 处理扭曲了文件路径

Laravel Mix URL processing distorts file path

我正在尝试使用内部 URL 处理设置 Larvel Mix,但它以某种方式破坏了我所有的文件路径。 例如,如果我在 app.scss:

中使用一个图标
background-image: url("../icons/search.svg");

每次我进去app.css

background-image: url(/fonts/search.svg?0aeb120951582cc56d9d8681f88ff583);

相应的文件也被复制到 public/fonts/ 我只是想不通,这个文件夹是从哪里爬到我的路径中的。 在我的 webpack.mix.js 我没有什么特别的。

mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')

有没有人遇到过这种问题?

这是因为 Laravel-mix 默认会优化相关样式表 url()。

要禁用此功能,请转到项目根目录中的 webpack.mix.js

添加:

mix.options({
    processCssUrls: false
});

但是,如果你使用bootstrap-sass,会导致它的Glyphicons字体无法工作。

要解决此问题,请转至 resources\assets\sass\_variables.scss

$icon-font-path:更改为"../fonts/vendor/._bootstrap-sass@3.3.7@bootstrap-sass/bootstrap/";