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,6 +72,7 @@
72 "@vue/cli-service": "4.4.6", 72 "@vue/cli-service": "4.4.6",
73 "babel-eslint": "10.1.0", 73 "babel-eslint": "10.1.0",
74 "chalk": "4.1.0", 74 "chalk": "4.1.0",
  75 + "compression-webpack-plugin": "5.0.2",
75 "connect": "3.6.6", 76 "connect": "3.6.6",
76 "eslint": "7.15.0", 77 "eslint": "7.15.0",
77 "eslint-plugin-vue": "7.2.0", 78 "eslint-plugin-vue": "7.2.0",
@@ -87,7 +88,6 @@ @@ -87,7 +88,6 @@
87 "@vue/eslint-config-prettier": "^5.0.0", 88 "@vue/eslint-config-prettier": "^5.0.0",
88 "bpmn-js": "8.9.0", 89 "bpmn-js": "8.9.0",
89 "bpmn-js-properties-panel": "0.46.0", 90 "bpmn-js-properties-panel": "0.46.0",
90 - "compression-webpack-plugin": "^6.1.1",  
91 "eslint-plugin-prettier": "^3.1.0", 91 "eslint-plugin-prettier": "^3.1.0",
92 "fs-extra": "^8.1.0", 92 "fs-extra": "^8.1.0",
93 "terser-webpack-plugin": "^4.2.3", 93 "terser-webpack-plugin": "^4.2.3",
yudao-ui-admin/vue.config.js
@@ -6,6 +6,8 @@ function resolve(dir) { @@ -6,6 +6,8 @@ function resolve(dir) {
6 return path.join(__dirname, dir) 6 return path.join(__dirname, dir)
7 } 7 }
8 8
  9 +const CompressionPlugin = require('compression-webpack-plugin')
  10 +
9 const name = process.env.VUE_APP_TITLE || '芋道管理系统' // 网页标题 11 const name = process.env.VUE_APP_TITLE || '芋道管理系统' // 网页标题
10 12
11 const port = process.env.port || process.env.npm_config_port || 80 // 端口 13 const port = process.env.port || process.env.npm_config_port || 80 // 端口
@@ -57,7 +59,16 @@ module.exports = { @@ -57,7 +59,16 @@ module.exports = {
57 alias: { 59 alias: {
58 '@': resolve('src') 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 chainWebpack(config) { 73 chainWebpack(config) {
63 config.plugins.delete('preload') // TODO: need test 74 config.plugins.delete('preload') // TODO: need test