Assets i CSS-bundler i Webpack
La oss nå gjøre slik at
stier til .png filer erstattes
i CSS-filer under bygging:
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(),
],
};
La oss sjekke hvordan dette fungerer. Koble til et bilde i inngangspunktet og en fil med stiler:
import './images/img.png';
import './styles.css';
La i stilfilen vår bruke stien til bildet:
body {
background: url('images/img.png');
}
Etter bygging i CSS-bundelen vil stien til bildet bli endret til en ny:
body {
background: url('riktig sti fra roten');
}
Sett et bakgrunnsbilde i CSS-filen.
Koble bildet til inngangspunktet.
Utfør bygging og se hvilken fil bildet vil bli kopiert til og hvordan den nye stien vil se ut i CSS-bundelen.