CSS Bundle'larında Webpack'te Asset'ler
Şimdi, derleme sırasında CSS dosyalarındaki
.png dosya yollarının
değiştirilmesini sağlayalım:
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(),
],
};
Bunun nasıl çalıştığını kontrol edelim. Giriş noktasına bir resim ve stil dosyası ekleyelim:
import './images/img.png';
import './styles.css';
Stil dosyasında resmin yolunu kullandığımızı varsayalım:
body {
background: url('images/img.png');
}
Derlemeden sonra CSS bundle'ında resmin yolu yeni bir yolla değiştirilecek:
body {
background: url('verilen yoldan doğru yol');
}
CSS dosyasında bir arka plan resmi belirleyin.
Resmi giriş noktasına ekleyin.
Derlemeyi gerçekleştirin ve resmin hangi dosyaya kopyalanacağına ve CSS bundle'ında yeni yolun nasıl görüneceğine bakın.