好吧,我刚安装了新的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文件。
另外,我关注了这个问题,但无法找到答案,所有解决方案都无法解决。
答案 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
}
},