laravel mix:如何在css中保留图像和字体的相对路径

问题描述 投票:3回答:1

当laravel webpack / mix执行并将sass转换为css时,它会将url('../images/background.png');之类的相对路径更改为绝对路径,如url('/images/background.png');

是否可能不更新路径并保持相对路径?

原因是部署可能位于不同服务器上的不同文件夹中,因此相对路径将适用于所有文件夹结构。对于例如它将适用于http://www.example.com/以及http://www.example.com/subfolder/。但是如果使用绝对路径,那么在子文件夹的情况下,css将找不到图像和字体。

还有其他一些最好的做法来处理这种情况吗?

css laravel webpack mix
1个回答
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
   });

https://laravel.com/docs/5.5/mix#working-with-stylesheets

© www.soinside.com 2019 - 2024. All rights reserved.