Асеты ў CSS бандлах у 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 бандле шлях да малюнка будзе зменены на новы:
body {
background: url('правільны шлях ад кораня');
}
Задайце ў CSS файле фонавы малюнак.
Падключыце малюнак да кропкі ўваходу.
Выканайце зборку і паглядзіце, у які файл скапіруецца малюнак і як будзе выглядаць новы шлях у CSS бандле.