Commit fe552aedcd2a001d4085041baab6d9ba4a3fdb73

Authored by YunaiV
1 parent a3e8ee2b

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

yudao-ui-admin/package.json
... ... @@ -72,6 +72,7 @@
72 72 "@vue/cli-service": "4.4.6",
73 73 "babel-eslint": "10.1.0",
74 74 "chalk": "4.1.0",
  75 + "compression-webpack-plugin": "5.0.2",
75 76 "connect": "3.6.6",
76 77 "eslint": "7.15.0",
77 78 "eslint-plugin-vue": "7.2.0",
... ... @@ -87,7 +88,6 @@
87 88 "@vue/eslint-config-prettier": "^5.0.0",
88 89 "bpmn-js": "8.9.0",
89 90 "bpmn-js-properties-panel": "0.46.0",
90   - "compression-webpack-plugin": "^6.1.1",
91 91 "eslint-plugin-prettier": "^3.1.0",
92 92 "fs-extra": "^8.1.0",
93 93 "terser-webpack-plugin": "^4.2.3",
... ...
yudao-ui-admin/vue.config.js
... ... @@ -6,6 +6,8 @@ function resolve(dir) {
6 6 return path.join(__dirname, dir)
7 7 }
8 8  
  9 +const CompressionPlugin = require('compression-webpack-plugin')
  10 +
9 11 const name = process.env.VUE_APP_TITLE || '芋道管理系统' // 网页标题
10 12  
11 13 const port = process.env.port || process.env.npm_config_port || 80 // 端口
... ... @@ -57,7 +59,16 @@ module.exports = {
57 59 alias: {
58 60 '@': resolve('src')
59 61 }
60   - }
  62 + },
  63 + plugins: [
  64 + new CompressionPlugin({
  65 + test: /\.(js|css|html)?$/i, // 压缩文件格式
  66 + filename: '[path].gz[query]', // 压缩后的文件名
  67 + algorithm: 'gzip', // 使用gzip压缩
  68 + threshold: 10240, // 对超过10K的数据压缩
  69 + minRatio: 0.8 // 压缩率小于1才会压缩
  70 + })
  71 + ],
61 72 },
62 73 chainWebpack(config) {
63 74 config.plugins.delete('preload') // TODO: need test
... ...