webpack モジュールバンドラーを使用して angular2 アプリケーションを作成しています。これで、jpg、gif、png などの画像ファイルをロードするためのファイルローダーが追加されました。しかし、ビルド コマンドを実行すると、イメージ ファイルがバンドルされません。これが私の構成です:
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 フォルダーに配置されません。
最も奇妙なことは、フォントに同じ構成が使用され、アセットフォルダー内に作成されていることです。これは、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 などのすべてのファイルは、ビルドを実行した後、assets フォルダーにあります。
アセットフォルダーに画像が作成されていないのに、フォントファイルが同じ構成/ローダーで作成されている理由を誰か教えてください。