当laravel webpack / mix执行并将sass转换为css时,它会将url('../images/background.png');
之类的相对路径更改为url('/images/background.png');
等绝对路径。
路径是否可能不会更新并保持为相对路径?
原因是部署可能位于不同服务器上的不同文件夹中,因此相对路径将适用于所有文件夹结构。对于例如它适用于http://www.example.com/
以及http://www.example.com/subfolder/
。但是如果使用绝对路径,那么在子文件夹的情况下,css将无法找到图像和字体。
还有其他一些最好的做法来处理这种情况吗?
答案 0 :(得分:7)
来自the docs:
默认情况下,Laravel Mix和Webpack会找到
example.png
,将其复制到您的public/images
文件夹,然后在生成的样式表中重写url()
。因此,您编译的CSS将是。尽管此功能可能很有用,但您现有的文件夹结构可能已经按照您喜欢的方式进行配置。如果是这种情况,您可以禁用
url()
重写,如下所示:
mix.sass('resources/assets/app/app.scss', 'public/css')
.options({
processCssUrls: false
});