Assets u CSS bundle-ovima u Webpacku
Sada napravimo da se
putanje do .png fajlova zamene
u CSS fajlovima prilikom build-a:
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(),
],
};
Hajde da proverimo kako ovo funkcioniše. Povežimo sliku i fajl sa stilovima na ulaznu tačku:
import './images/img.png';
import './styles.css';
Neka u fajlu sa stilovima koristimo putanju do slike:
body {
background: url('images/img.png');
}
Nakon build-a, u CSS bundle-u putanja do slike će biti promenjena na novu:
body {
background: url('tačna putanja od korena');
}
Postavite pozadinsku sliku u CSS fajlu.
Povežite sliku na ulaznu tačku.
Izvršite build i pogledajte u koji fajl će se kopirati slika i kako će nova putanja izgledati u CSS bundle-u.