【发布时间】:2019-09-04 18:54:44
【问题描述】:
我是 webpack 的新手,并遵循一些教程来学习基础知识。
我想在开发期间使用 style-loader 注入样式表(启用 HMR),并希望将 MiniCssExtractPlugin 用于生产构建。但是当我使用 MiniCssExtractPlugin 插件时,我失去了 style-loader 的注入功能。
请查看我的 webpack 配置:
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
}
};
【问题讨论】:
-
“但是当我使用 MiniCssExtractPlugin 插件时,我失去了 style-loader 的注入功能” - 你是什么意思?在上一句中你提到你想要
dev mode中的style-loader和prod mode中的MiniCssExtractPlugin。你的要求不清楚。请澄清
标签: webpack mini-css-extract-plugin