2017-04-02 118 views
0

那么,我刚刚安装了新鲜的Laravel 5.4。然后安装npm并决定第一次使用webpack而不是gulp.js.如您所知,Laravel默认提供sass Bootstrap集成。使用这个命令从sass生成我的css。Laravel 5.4 - Bootstrap glyphicons在sass集成后不工作

npm run dev

引导,jQuery的工作完美,但没有显示Glyphicons。检查我的public/css/app.css我看到了Glyphicons font-face path不适合。

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和它的工作中,显示出glyphicons。但是,我不想为processCssUrls设置false。因为,在这种情况下,我将无法使用命令来最小化css文件:npm run production

另外,我跟着这个问题,但找不到任何答案,所有的解决方案都无法正常工作。

glyphicons not showing with sass bootstrap integration

回答

1

最后,找到了解决办法。在webpack.config.js集:代替Mix.resourceRoot

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

这终于为我工作,但

publicPath: '../' 

,因为我不想要编辑的'node_modules'文件夹中的配置文件直接我选择复制整个文件到我的根文件夹并将'package.json'文件更改为指向新配置:“dev”:“cross-env NODE_ENV = development node_modules/webpack/bin/webpack.js --progress --hide-modules - -config = node_modules/laravel-mix/setup/webpack.config.js“,改为”dev“:”cross-env NODE_ENV = development node_modules/webpack/bin/webpack.js --progress --hide-module s --config = webpack.config.js“,” –