2016-11-24 7 views
0

laravel 5.3と私のプロジェクトはangular 2js and cssを含む資産の編集にはwebpackを使用しています。アングル2 base_hrefリンク資産の問題

クライアントと管理領域に同じfont awesome and bootstrapを使用しようとしています。

私はjs directoryの中にすべてのlaravelのフォルダ構造を持っています。私たちは、私も追加したメインテンプレートにbase hrefを追加する必要が角度2つのルートの

|-public 
    |-js 
     |-assets 
     |-fontawesome-webfonts.woff 
     |-image1.png 
     |-vendor.bundle.js 
     |-polyfill.bundle.js 

<base href="/"> 

管理URLはlocalhost:8000/admin

であり、ユーザーのURLはlocalhost:8000

は私のようにlessファイルをインポートしている

{!! Html::script('js/vendor.bundle.js') !!} 

やベンダーなどのバンドルが含まれている次のとおりです。

vendor.bundle.js

import 'admin-lte/build/less/AdminLTE.less'; 
import 'font-awesome/less/font-awesome.less'; 

主な問題は、私は、ユーザーと管理ページの両方に同じvendor.bundle.jsを使用する場合、それはjs/assets/fontawesome-webfonts.woffからフォントをロードするので、ユーザーページが正常に動作していることですが、私は管理者をロードするときページでは、正しいディレクトリではないadmin/js/assets/fontawesome-webfonts.woffから検索するときにフォントを読み込めませんでした。

どのようにすれば、両方のURLの角度検索をjs/assets/fontawesome-webfonts.woffにすることができますか?

問題も画像に表示されます。

Assets linking issue

答えて

0

私はちょうどurl-loader webpack pluginを使って自分でそれを考え出しました。

ベースhrefをそのままにしてアセットを設定する必要があります。

私は唯一のあなたはpublicPathを指定し、nameに他のディレクトリを追加する必要がfonts

{ 
    test: /\.(svg|woff|woff2|ttf|eot)$/, 
    loader: 'url-loader?limit=10000&name=assets/[hash].[ext]&publicPath=/js/' 
} 

のための新しいテストを追加する必要がありました。

それだけです。誰かの貴重な時間を節約してくれることを願っています。

注:パブリックパスの前に '/'を忘れないでください。