Jelajahi Sumber

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

RuoYi 3 tahun lalu
induk
melakukan
a028b566ed
2 mengubah file dengan 13 tambahan dan 1 penghapusan
  1. 1 0
      ruoyi-ui/package.json
  2. 12 1
      ruoyi-ui/vue.config.js

+ 1 - 0
ruoyi-ui/package.json

@@ -67,6 +67,7 @@
     "babel-eslint": "10.1.0",
     "babel-plugin-dynamic-import-node": "2.3.3",
     "chalk": "4.1.0",
+    "compression-webpack-plugin": "5.0.2",
     "connect": "3.6.6",
     "eslint": "7.15.0",
     "eslint-plugin-vue": "7.2.0",

+ 12 - 1
ruoyi-ui/vue.config.js

@@ -5,6 +5,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 // 端口
@@ -55,7 +57,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