Assets dalam CSS Bundles di Webpack
Sekarang mari kita buat agar
path ke file .png diganti
dalam file CSS saat build:
export default {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve('dist')
},
module: {
rules: [
{
test: /\.png$/,
type: 'asset/resource'
},
{
test: /\.css$/i,
use: [MiniCssExtractPlugin.loader, 'css-loader'],
},
]
},
plugins: [
new MiniCssExtractPlugin({
filename: 'bundle.[contenthash].css'
}),
new HtmlWebpackPlugin(),
],
};
Mari kita periksa cara kerjanya. Impor gambar dan file styles ke entry point:
import './images/img.png';
import './styles.css';
Misalkan dalam file styles kita menggunakan path ke gambar:
body {
background: url('images/img.png');
}
Setelah build, path ke gambar dalam CSS bundle akan diubah menjadi yang baru:
body {
background: url('path yang benar dari root');
}
Atur gambar latar dalam file CSS.
Impor gambar ke entry point.
Lakukan build dan lihat, ke file mana gambar akan disalin dan bagaimana path barunya akan terlihat dalam CSS bundle.