Browse Source

v3.8.1 集成compression-webpack-plugin插件实现打包Gzip压缩

YunaiV 3 years ago
parent
commit
fe552aedcd
2 changed files with 13 additions and 2 deletions
  1. 1 1
      yudao-ui-admin/package.json
  2. 12 1
      yudao-ui-admin/vue.config.js

+ 1 - 1
yudao-ui-admin/package.json

@@ -72,6 +72,7 @@
     "@vue/cli-service": "4.4.6",
     "babel-eslint": "10.1.0",
     "chalk": "4.1.0",
+    "compression-webpack-plugin": "5.0.2",
     "connect": "3.6.6",
     "eslint": "7.15.0",
     "eslint-plugin-vue": "7.2.0",
@@ -87,7 +88,6 @@
     "@vue/eslint-config-prettier": "^5.0.0",
     "bpmn-js": "8.9.0",
     "bpmn-js-properties-panel": "0.46.0",
-    "compression-webpack-plugin": "^6.1.1",
     "eslint-plugin-prettier": "^3.1.0",
     "fs-extra": "^8.1.0",
     "terser-webpack-plugin": "^4.2.3",

+ 12 - 1
yudao-ui-admin/vue.config.js

@@ -6,6 +6,8 @@ function resolve(dir) {
   return path.join(__dirname, dir)
 }
 
+const CompressionPlugin = require('compression-webpack-plugin')
+
 const name = process.env.VUE_APP_TITLE || '芋道管理系统' // 网页标题
 
 const port = process.env.port || process.env.npm_config_port || 80 // 端口
@@ -57,7 +59,16 @@ module.exports = {
       alias: {
         '@': resolve('src')
       }
-    }
+    },
+    plugins: [
+      new CompressionPlugin({
+        test: /\.(js|css|html)?$/i,     // 压缩文件格式
+        filename: '[path].gz[query]',   // 压缩后的文件名
+        algorithm: 'gzip',              // 使用gzip压缩
+        threshold: 10240,               // 对超过10K的数据压缩
+        minRatio: 0.8                   // 压缩率小于1才会压缩
+      })
+    ],
   },
   chainWebpack(config) {
     config.plugins.delete('preload') // TODO: need test