|
@@ -2,7 +2,9 @@ const path = require('path')
|
|
|
const webpack = require('webpack')
|
|
|
const createThemeColorReplacerPlugin = require('./config/plugin.config')
|
|
|
// gzip 压缩
|
|
|
-const compressionWebpackPlugin = require('compression-webpack-plugin'); //引入插件
|
|
|
+const compressionWebpackPlugin = require('compression-webpack-plugin');
|
|
|
+// js,css 压缩
|
|
|
+const TerserPlugin = require('terser-webpack-plugin');
|
|
|
|
|
|
function resolve (dir) {
|
|
|
return path.join(__dirname, dir)
|
|
@@ -58,6 +60,20 @@ const vueConfig = {
|
|
|
runtimeCompiler: true, // 动态编译组件
|
|
|
publicPath: BASE_URL,
|
|
|
configureWebpack: {
|
|
|
+ optimization: {
|
|
|
+ minimize: true,
|
|
|
+ minimizer: [new TerserPlugin({
|
|
|
+ test: /\.js(\?.*)?$/i, //匹配参与压缩的文件
|
|
|
+ parallel: true, //使用多进程并发运行
|
|
|
+ terserOptions: { //Terser 压缩配置
|
|
|
+ output:{comments: false},
|
|
|
+ compress: {//console删除
|
|
|
+ pure_funcs: ["console.log"]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ extractComments: true, //将注释剥离到单独的文件中
|
|
|
+ })],
|
|
|
+ },
|
|
|
// webpack plugins
|
|
|
plugins: [
|
|
|
// Ignore all locale files of moment.js
|