Это потому, что вы указали для нескольких выходных пакетов , , а именно по одному пакету на каждую точку входа. Кроме того, каждый пакет должен иметь с уникальным именем на основе имени файла каждой точки входа, как указано в следующей строке кода:
filename: '[name].bundle.js'.
'[name]'
будет динамически заменять базовое имя файла для каждой точки входа а именно: templates
, templates2
, main_scss
и templates
(для вашего стиля) и объединить его с помощью 'bundle.js'
, в результате чего будет иметь несколько уникально именованных комплектов , а именно:
templates.bundle.js
templates2.bundle.js
main_scss.bundle.js
Для подробного объяснения того, как создаются выходные пакеты, ознакомьтесь Документация Webpack для выходных пакетов.
С учетом вышесказанного вы получаете main_scss.bundle.js
из моего вышеупомянутого объяснения, и вы получаете main_scss.css
файл стилей от вашего MiniCssExtractPlugin
плагина.MiniCssExtractPlugin
извлекает ваши SASS
файлы и конвертирует их в эквивалентный CSS
файл.Вы указываете это извлечение от SASS
до CSS
с этой строкой кода:
plugins:[
new MiniCssExtractPlugin({
filename: "[name].css",
})
]
Обратите внимание, что [name]
используется здесь снова, поэтому каждый сгенерированный файл CSS
также будет иметь уникальное имя на основена основное имя файла для каждого SASS
файла.Если вы просто хотите, чтобы пакет включал ваши JavaScript
файлы и генерировал один CSS
файл, я бы попробовал следующее:
Создать отдельный пакет, который неимя уникально на основе имени файла каждой точки входа, что-то вроде следующего:
output: {
path: path.resolve(__dirname, 'public/assets'),
filename: 'bundle.js'
},
Удалите несколько CSS
точек входа и вместо этогосоздайте один main.scss
файл.Единственная цель этого файла - импортировать все другие файлы SASS
вашего проекта.
Добавьте этот файл, созданный на шаге 2, в качестве точки входа.
Это приведет к созданию одного JavaScript
пакета: bundle.js
и одного CSS
файла: main.css
, который будет содержать JavaScript
и все стили вашего приложения соответственно.Вы можете просто связать ваш сгенерированный JavaScript
пакет и соответствующий CSS
файл на вашей index.html
странице.
Надеюсь, это поможет!