2017-01-09 11 views
2

webpackモジュールバンドラでangular2アプリケーションを作成しています。今、私はjpg、gif、pngなどの画像ファイルを読み込むためのファイルローダーを追加しました。しかし、ビルドコマンドを実行すると、イメージファイルはバンドルされません。ここに私の構成は次のとおりです。webpackを使用してイメージをバンドルするには?

webpack.config.js(画像のみローダーの設定)

{ 
    test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)(\?v=.+)?$/, 
    loader: 'file-loader?name=assets/[name].[hash].[ext]' 
}, 

私はこのような私のHTMLテンプレートのフォルダから画像が含まれている:

<img src="/asset/img/myImg.png"/> 

も私のCSSで:

#myBackground { 
    background: background: #344556 url(/assets/img/background.jpg) center/cover; 
} 

しかし、アプリケーション全体をビルドすると、イメージはwebpack設定で指定したようにassetsフォルダに配置されません。

今のところ最も奇妙なのは、フォントに同じ設定が使用されており、assetsフォルダ内に作成されているということです。これはstyle.cssにでフォントを含むための私のCSSです:

@font-face { 
    font-family: 'robotolight'; 
    src: url("../fonts/roboto-light-webfont.eot"); 
    src: url("../fonts/roboto-light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-light-webfont.woff2") format("woff2"), url("../fonts/roboto-light-webfont.woff") format("woff"), url("../fonts/roboto-light-webfont.ttf") format("truetype"), url("../fonts/roboto-light-webfont.svg#robotolight") format("svg"); 
    font-weight: normal; 
    font-style: normal; 
} 

などsvgs、TTF、WOFF、のようなこのフォントのすべてのファイルは、ビルドを実行した後の資産フォルダに格納されています。

アセットフォルダにイメージが作成されていない理由は誰にもわかりますが、フォントファイルは同じ設定/ローダで表示されます。

答えて

2

は、そうでない場合、いくつかのローダー(エキス・ローダー& HTML-ローダー)

がありませんthis

の重複ことかもしれませんこれらの静的な資産がHTMLから直接含まれている場合は、これらを手動でコピーしようとすることができこの資産を介した資産handy webpack plugin

関連する問題