From aae3d6b297c6bea97e6d7eb8d80d2f2c4b397efd Mon Sep 17 00:00:00 2001 From: harryluo163 Date: Sun, 28 Jan 2024 10:54:10 +0800 Subject: [PATCH] [improvement-691][chat] Add gzip #691 (#694) --- .../src/main/resources/application-local.yaml | 4 ++++ webapp/packages/supersonic-fe/config/config.ts | 15 +++++++++++++++ webapp/packages/supersonic-fe/package.json | 1 + 3 files changed, 20 insertions(+) diff --git a/launchers/standalone/src/main/resources/application-local.yaml b/launchers/standalone/src/main/resources/application-local.yaml index 901d273a1..4ea7e1171 100644 --- a/launchers/standalone/src/main/resources/application-local.yaml +++ b/launchers/standalone/src/main/resources/application-local.yaml @@ -17,6 +17,10 @@ demo: server: port: 9080 + compression: + enabled: true + min-response-size: 1024 + mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* authentication: enable: true diff --git a/webapp/packages/supersonic-fe/config/config.ts b/webapp/packages/supersonic-fe/config/config.ts index fa65717b8..7fc8db70d 100644 --- a/webapp/packages/supersonic-fe/config/config.ts +++ b/webapp/packages/supersonic-fe/config/config.ts @@ -6,6 +6,8 @@ import proxy from './proxy'; import routes from './routes'; import moment from 'moment'; import ENV_CONFIG from './envConfig'; +import CompressionWebpackPlugin from 'compression-webpack-plugin' + const { REACT_APP_ENV, RUN_TYPE } = process.env; @@ -77,4 +79,17 @@ export default defineConfig({ resolve: { includes: ['src/components'], }, + chainWebpack: (config) => { + if (process.env.NODE_ENV === 'production') { // 生产模式开启 + config.plugin('compression-webpack-plugin').use( + new CompressionWebpackPlugin({ + algorithm: 'gzip', + test: new RegExp('\\.(' + ['js', 'css'].join('|') + ')$'), + threshold: 10240, + minRatio: 0.6, + deleteOriginalAssets: false, // 不删除源文件 + }) + ); + } + }, }); diff --git a/webapp/packages/supersonic-fe/package.json b/webapp/packages/supersonic-fe/package.json index e2b2cb5c7..35e602d05 100644 --- a/webapp/packages/supersonic-fe/package.json +++ b/webapp/packages/supersonic-fe/package.json @@ -73,6 +73,7 @@ "ahooks": "^3.7.7", "antd": "^5.11.0", "classnames": "^2.2.6", + "compression-webpack-plugin": "^11.0.0", "copy-to-clipboard": "^3.3.1", "cross-env": "^7.0.3", "crypto-js": "^4.0.0",