Assets i CSS-bundlar i Webpack
Låt oss nu se till att
sökvägar till .png-filer ersätts
i CSS-filer vid bygge:
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(),
],
};
Låt oss kolla hur detta fungerar. Importera en bild till ingångspunkten och en fil med stilar:
import './images/img.png';
import './styles.css';
Låt oss i stilfilen använda en sökväg till bilden:
body {
background: url('images/img.png');
}
Efter bygget kommer sökvägen till bilden i CSS-bundeln att ändras till en ny:
body {
background: url('rätt sökväg från roten');
}
Ange en bakgrundsbild i CSS-filen.
Importera bilden till ingångspunkten.
Utför en bygg och se i vilken fil bilden kommer att kopieras och hur den nya sökvägen kommer att se ut i CSS-bundeln.