Я новичок в этом веб-пакете и следую некоторым учебникам, чтобы выучить основы.
Я хотел бы использовать style-loader
для добавления таблиц стилей во время разработки (с включенным HMR) и хочу использовать MiniCssExtractPlugin
для производственных сборок. Но когда я использую плагин MiniCssExtractPlugin, я теряю возможность вставки в style-loader.
Пожалуйста, посмотрите мою конфигурацию веб-пакета:
const webpack = require('webpack');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const path = require('path');
module.exports = {
entry: ['./src/index.js'],
output: {
filename: 'app.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
},
{
test: /\.(sass|scss)$/,
use: [
"style-loader",
{
loader: MiniCssExtractPlugin.loader,
options: {
hmr: process.env.NODE_ENV === 'development'
}
},
"css-loader",
"sass-loader"
]
}
]
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new MiniCssExtractPlugin({
filename: '[name].css',
chunkFilename: '[id].css'
})
],
devServer: {
contentBase: path.join(__dirname, 'dist'),
compress: true,
hot: true,
port: 3000
}
};