Assets i CSS bundler i Webpack
Lad os nu gøre sådan, så
stier til .png filer bliver erstattet
i CSS filer under bygningen:
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(),
],
};
Lad os tjekke, hvordan dette fungerer. Forbind et billede til entry point'en og en fil med stilarter:
import './images/img.png';
import './styles.css';
Lad os i filen med stilarter bruge stien til billedet:
body {
background: url('images/img.png');
}
Efter bygningen i CSS bundlen vil stien til billedet blive ændret til en ny:
body {
background: url('den korrekte sti fra roden');
}
Angiv en baggrundsbillede i CSS filen.
Tilslut billedet til entry point'en.
Udfør bygningen og se, i hvilken fil billedet bliver kopieret til og hvordan den nye sti i CSS bundlen vil se ud.