|
@@ -4,6 +4,7 @@ const { CleanWebpackPlugin } = require('clean-webpack-plugin');
|
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
//const { VueLoaderPlugin } = require('vue-loader/dist/index');
|
|
//const { VueLoaderPlugin } = require('vue-loader/dist/index');
|
|
const { VueLoaderPlugin } = require('vue-loader');
|
|
const { VueLoaderPlugin } = require('vue-loader');
|
|
|
|
+const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
|
|
|
|
|
|
|
|
module.exports={
|
|
module.exports={
|
|
@@ -40,7 +41,17 @@ module.exports={
|
|
},
|
|
},
|
|
{
|
|
{
|
|
test:/\.css$/i,
|
|
test:/\.css$/i,
|
|
- use:["style-loader","css-loader"],
|
|
|
|
|
|
+ // use:["style-loader","css-loader"],
|
|
|
|
+ use: [
|
|
|
|
+ MiniCssExtractPlugin.loader,
|
|
|
|
+ {
|
|
|
|
+ loader: 'css-loader',
|
|
|
|
+ options: {
|
|
|
|
+ // 重点:将 CSS 输出到对应入口的 css 目录
|
|
|
|
+ outputPath: '[name]/css/'
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
},
|
|
},
|
|
{
|
|
{
|
|
test:/\.vue$/,
|
|
test:/\.vue$/,
|
|
@@ -100,6 +111,10 @@ module.exports={
|
|
filename:"index.html",
|
|
filename:"index.html",
|
|
chunks:['index'],
|
|
chunks:['index'],
|
|
}),
|
|
}),
|
|
|
|
+ new MiniCssExtractPlugin({
|
|
|
|
+ // CSS 输出到对应入口的 css 目录
|
|
|
|
+ filename: '[name]/css/[name].[contenthash:8].css'
|
|
|
|
+ })
|
|
],
|
|
],
|
|
// 优化配置(如代码拆分)
|
|
// 优化配置(如代码拆分)
|
|
optimization: {
|
|
optimization: {
|