URL重写生成编译CSS文件错误的URL在Laravel应用(URL rewriting gener

2019-10-29 07:03发布

我尝试编译在Laravel应用字体真棒SCSS文件。 字体真棒安装了NPM。 存储在“公共/ CSS /”文件夹编译CSS。 此外“公共/字体/”文件夹中创建。 但是在编译的CSS文件的URL导致“/字体/”,所以它会寻找在“公共/ CSS /字体的字体。 这是不是这样的。

问题。

1.我试图找出为什么Laravel在CSS文件,而不是“../fonts/”创建“公共/字体”文件夹,但产生“/字体/”网址是什么?

2.我知道有所谓“processCssUrls:假”的选项,解决此问题。 在文档他们说,重写URL是一个非常有用的功能,但它是如何有用的,如果它产生错误的网址吗?

3.我不知道应该这样工作? 有没有解释这个问题?

很奇怪,即默认Laravel功能无法正常工作。 在图1中可以看到文件夹结构,编译后生成和CSS文件有错误的URL。 在图2可以看到这个问题的解决方案。 但是,它会工作,直到重新编译。 SCSS的代码段和webpack.mix.js文件中的。

图片1 - 文件夹“字体”和错误的CSS网址,编译后生成

图片2 - 手动更改路径后一切工作

1. SCSS文件:

// Variables
@import 'variables';

// FontAwsome
@import '~@fortawesome/fontawesome-free/scss/fontawesome';
@import '~@fortawesome/fontawesome-free/scss/brands';
@import '~@fortawesome/fontawesome-free/scss/solid';
@import '~@fortawesome/fontawesome-free/scss/regular';

2. webpack.mix.js文件:

mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
.sass('resources/sass/fawesome.scss', 'public/css')
// Work with this
.options({
    processCssUrls: false
});

Answer 1:

遇到同样的问题,发现固定在回购的封闭问题。 https://github.com/JeffreyWay/laravel-mix/issues/1136

使用下列设置在webpack.mix.js资源根:mix.setResourceRoot(“../”);



文章来源: URL rewriting generate wrong URLs in compiled CSS file in Laravel application
标签: css laravel sass