2017-04-02 19 views
0

まあ、新しくLaravel 5.4をインストールしました。その後、npmをインストールし、gulp.jsの代わりにwebpackを初めて使用することに決めました。ご存じのように、Laravelのデフォルトでは、懐疑的なブートストラップの統合が提供されています。このコマンドを使用して、私のCSSをsassから生成します。Laravel 5.4 - Sass統合後にブートストラップのグリフコンが動作しない

npm run dev

ブートストラップ、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に再設定します。glyphiconsが表示され、ファイル名を指定して実行npm-run-dev

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

をし、それが働きました。しかし、私はprocessCssUrlsにfalseを設定したくありません。この場合、コマンド:npm run productionを使用してCSSファイルを最小化することができないためです。

また、私はこの質問に従いましたが、答えを見つけることができなかったため、すべての解決策が機能しませんでした。

glyphicons not showing with sass bootstrap integration

答えて

1

最後に、解決策を見出した。

publicPath: '../' 

代わりのMix.resourceRoot

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

これは最終的に私のために働いたが、私は直接 'node_modules'フォルダのconfigファイルを編集したくなかったので、私はファイル全体をコピーすることにしました:webpack.config.jsセットで私のルートフォルダに移動し、新しい設定 '" dev "を指すように' package.json'ファイルを変更してください: "cross-env NODE_ENV = development node_modules/webpack/bin/webpack.js --progress --hide-modules - "-dev"に変更されました:-node_modules/webpack/bin/webpack.js --progress --hide-module s --config = webpack.config.js "、" –

関連する問題