Laravel 5.4 - 自助整合后,Bootstrap glyphicons不起作用

时间:2017-04-02 08:09:35

标签: laravel laravel-5.4

好吧,我刚安装了新的Laravel 5.4。然后安装了npm并决定第一次使用webpack而不是gulp.js.如您所知,Laravel默认提供sass Bootstrap集成。使用此命令从sass生成我的css。

npm run dev

Bootstrap,Jquery工作得很完美,但Glyphicons没有显示出来。检查我看到的public/css/app.css,Glyphicons字体 - 面路径不合适。

 src: url(/fonts/glyphicons-halflings-regular.eot?f4769f9bdb7466be65088239c12046d1);

如果我,请手动使用../fonts代替/fonts,它会起作用。我试图找出并编辑默认路径。在_variables.css我设置:

$icon-font-path = "../fonts" - but npm gives error.

默认情况下为:"~bootstrap-sass/assets/fonts/bootstrap/"

puclic/css文件夹中的复制字体文件夹,没有用。

webpack.mix.js文件添加了选项:

options({processCssUrls: false})

并在_variables.css再次设置:

$icon-font-path = "../fonts"

运行npm-run-dev并且它有效,显示了字形。但是,我不想为processCssUrls设置false。因为,在这种情况下,我无法使用命令npm run production来最小化css文件。

另外,我关注了这个问题,但无法找到答案,所有解决方案都无法解决。

glyphicons not showing with sass bootstrap integration

1 个答案:

答案 0 :(得分:1)

最后,找到了解决方案。在webpack.config.js集合中:

publicPath: '../'

而不是Mix.resourceRoot

{
    test: /\.(woff2?|ttf|eot|svg|otf)$/,
    loader: 'file-loader',
    options: {
        name: 'fonts/[name].[ext]?[hash]',
        publicPath: Mix.resourceRoot
    }
},