У меня есть файлы config.base
, config.dev
и config.prod
с HtmlWebpackPlugin
. Я хочу установить template
, который используется во всех двух средах. Я думал, что смогу просто обновить параметр title
внутри производства, и он будет включен как часть merge
. Однако, похоже, что файл шаблона потерян, что вызвало ошибку в браузере.
Как я могу продолжать использовать тот же экземпляр плагина и просто обновить одну опцию?
Для упрощения:
config.prod.HtmlWebpackPlugin.title = "production",
В моих файлах
config.base для совместного использования через Env:
plugins: [
new HtmlWebpackPlugin({
template: "public/index.html",
favicon: "public/assets/img/favicon.ico"
}),
]
config.prod, который нарушает сборку, если я включаю «title» в качестве опции для изменения в Env.
new HtmlWebpackPlugin({
title: "Production"
}),
config.prod, который работает, если я использую ту же информацию "шаблона", что и базовую
plugins: [
new HtmlWebpackPlugin({
template: "public/index.html",
favicon: "public/assets/img/favicon.ico",
title: "Production"
}),
]
Чтобы сделать это, я должен включить template
во ВСЕ 3 файла. Это, кажется, побеждает цель "общего" конфигурации. Я понимаю, что в prod
это new
экземпляр плагина, но, опять же, я думал, что слияние base & prod будет осуществляться по-другому.
Как это действительно работает? Почему я должен включить его во второй раз? Есть ли способ «поделиться» экземпляром правильно?