Мне нужно создать несколько темных файлов CSS с помощью веб-пакета версии 4 и «мини-плагина для извлечения CSS» в моем реактивном проекте.Зависит от того, где webpack найдет импорт файла SCSS, он должен использовать loader дважды - с разными данными в настройках sass-loader.
Я не нашел ничего полезного в Интернете для этой цели.Я также уже пытался использовать такие загрузчики веб-пакетов, как: веб-пакеты-комбайны-загрузчики, мульти-загрузчики и т.д ...
здесь есть часть конфигурации веб-пакета
module: {
rules: [
{
test: /\.scss$/,
use: [
{
loader: MiniCssExtractPlugin.loader,
},
'css-loader',
{
loader: "sass-loader",
options: {
data: '$theme: dark;',
}
},
],
},
{ // the same except data in options
test: /\.scss$/,
use: [
{
loader: MiniCssExtractPlugin.loader,
},
'css-loader',
{
loader: "sass-loader",
options: {
data: '$theme: white;',
}
},
],
},
],
},
plugins: [
new MiniCssExtractPlugin({
filename: 'client.white.css',
}),
new MiniCssExtractPlugin({
filename: 'client.dark.css',
}),
],
файл scss (button.scss) Я использую такое условие:
$background: #06cc1a;
$color: white;
@if $theme == dark {
$background: white;
$color: black;
}
.button {
background-color: $background;
color: $color;
}
}
В результате я хочу получить два CSS-файла client.white.css, где были применены переменные sass для белой темы и client.dark.css где были применены переменные для темной темы