Как заставить вебпак делать стили в виде .css, а не .js?

Для того чтобы заставить Webpack генерировать стили в виде отдельных файлов .css вместо .js, вам необходимо внести некоторые изменения в конфигурационный файл Webpack.

Webpack использует специальные загрузчики (loaders) для обработки различных типов файлов. Для обработки CSS файлов существует загрузчик css-loader. Однако, чтобы Webpack генерировал стили в виде отдельных .css файлов, вам также потребуется загрузчик, который будет эти стили выводить в отдельный файл. Для этого вы можете использовать загрузчик mini-css-extract-plugin.

Первым шагом необходимо установить оба этих загрузчика с помощью npm или yarn. Выполните следующую команду в вашей командной строке:

npm install mini-css-extract-plugin css-loader --save-dev

Затем, добавьте mini-css-extract-plugin в ваш конфигурационный файл Webpack. Вот пример простого конфигурационного файла:

const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: 'dist'
},
module: {
rules: [
{
test: /.css$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader'
]
}
]
},
plugins: [
new MiniCssExtractPlugin({
filename: 'styles.css'
})
]
};

В этой конфигурации мы используем MiniCssExtractPlugin.loader вместо стандартного style-loader, чтобы стили выводились в отдельный файл. Загрузчик css-loader обрабатывает CSS файлы и результирующий CSS будет сохранен в файле styles.css, указанном в конфигурации плагина MiniCssExtractPlugin.

После внесения этих изменений, запустите сборку вашего проекта с помощью Webpack и вы увидите новый файл styles.css, содержащий все ваши стили.

В заключение, установка и настройка mini-css-extract-plugin в вашем конфигурационном файле Webpack позволит вам генерировать стили в виде отдельных файлов .css вместо .js. Это позволяет лучше управлять и оптимизировать загрузку и кэширование стилей в вашем веб-приложении.