Assets a CSS bundle-okban a Webpackban
Most tegyük úgy, hogy a
.png fájlokhoz tartozó elérési utak
lecserélődnek a CSS fájlokban a buildelés során:
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(),
],
};
Nézzük meg, hogyan működik ez. Importáljunk egy képet és egy stílusfájlt a belépési pontba:
import './images/img.png';
import './styles.css';
Tegyük fel, hogy a stílusfájlban a kép elérési útját használjuk:
body {
background: url('images/img.png');
}
A buildelés után a CSS bundle-ban a kép elérési útja lecserélődik az új útvonalra:
body {
background: url('a helyes útvonal a gyökérkönyvtártól');
}
Adj meg egy háttérképet a CSS fájlban.
Kapcsold be a képet a belépési pontba.
Végezd el a buildelést és nézd meg, hogy melyik fájlba másolódik a kép, és hogyan fog kinézni az új útvonal a CSS bundle-ban.