Webpackでの一般的なアセット
次に、一般的なアセットを試してみましょう。
8kb以下の画像はbase64に変換され、
このサイズより大きい画像はファイルとして
コピーされるようにしてみます:
export default {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve('dist'),
},
module: {
rules: [
{
test: /\.png$/,
type: 'asset',
}
]
},
plugins: [
new HtmlWebpackPlugin(),
],
};
画像サイズの制限を変更することができます。
例として、4kbの制限を適用してみましょう:
export default {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve('dist'),
},
module: {
rules: [
{
test: /\.png$/,
type: 'asset',
parser: {
dataUrlCondition: {
maxSize: 4 * 1024 // 4kb
}
}
}
]
},
plugins: [
new HtmlWebpackPlugin(),
],
};
エントリーポイントに、さまざまなサイズの 画像をいくつか接続してください。 各画像に対してどのタイプの変換が適用されるか 確認してください。