Laravel混合不正确的Url用于Bootstrap字体

时间:2018-02-16 14:41:27

标签: webpack laravel-5.5 laravel-mix

我正在使用laravel 5.5而我正在尝试使用一些引导程序覆盖来编译较少的文件。

我的webpack.mix.js文件中包含以下内容:

 mix.js('resources/assets/js/app.js', 'public/js')
    .less('resources/assets/less/app.less', 'public/css').options({
         processCssUrls: false
    });

app.less如下:

@import "~bootstrap/less/bootstrap";
@import "_variables.less";

// custom styles

_variables.less如下:

// Brands
@brand-primary:      #005689;

// Iconography
@icon-font-path:        "../fonts/";

但是编译的app.css正在生成font-face url,如下所示:

@font-face {
   font-family: 'Glyphicons Halflings';
   src: url('../../../node_modules/bootstrap/fonts/glyphicons-halflings-regular.eot');

}

看起来它生成相对于导入@import "~bootstrap/less/bootstrap"

的网址

如何强制它生成font-face url:

@font-face {
   font-family: 'Glyphicons Halflings';
   src: url('../fonts/glyphicons-halflings-regular.eot');

}

1 个答案:

答案 0 :(得分:2)

通过执行以下操作修复:

mix.js('resources/assets/js/app.js', 'public/js')
   .less('resources/assets/less/app.less', 'public/css', { relativeUrls: false
    })
  .options({
     processCssUrls: false
   });