Ассети во CSS bundles во Webpack
Ајде сега да направиме така што
патеките до .png датотеки да се заменат
во CSS датотеки при собирањето:
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(),
],
};
Ајде да провериме како функционира ова. Да ја поврземе сликата до влезната точка и датотеката со стилови:
import './images/img.png';
import './styles.css';
Нека во датотеката со стилови користиме патека до сликата:
body {
background: url('images/img.png');
}
После собирањето во CSS bundle патеката до сликата ќе биде променета на нова:
body {
background: url('точна патека од коренот');
}
Задајте позадинска слика во CSS датотеката.
Поврзете ја сликата до влезната точка.
Извршете собирање и погледнете, во која датотека ќе се копира сликата и како ќе изгледа новата патека во CSS bundle.