From 18cf64a613bcf481f7dad952c01221321c0f3fce Mon Sep 17 00:00:00 2001 From: liaoxinyu Date: Mon, 8 Jul 2024 17:49:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=93=8D=E5=BA=94=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/webpack.prod.conf.js | 8 ++ package-lock.json | 13 +++ package.json | 1 + src/App.vue | 2 +- src/components/CommonFooter.vue | 17 ++++ src/components/CommonHeader.vue | 51 +++++++++- src/index.html | 4 +- src/views/home/index.vue | 159 +++++++++++++++++++++++++++----- static/css/bootstrap.min.css | 3 +- 9 files changed, 227 insertions(+), 31 deletions(-) diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js index ad8750c..1bf00d5 100644 --- a/build/webpack.prod.conf.js +++ b/build/webpack.prod.conf.js @@ -12,6 +12,8 @@ const ExtractTextPlugin = require('extract-text-webpack-plugin') const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') const UglifyJsPlugin = require('uglifyjs-webpack-plugin') const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin +const CompressionPlugin = require("compression-webpack-plugin"); +const productionGzipExtensions = ['js', 'css'] const env = require('../config/prod.env') @@ -57,6 +59,12 @@ const webpackConfig = merge(baseWebpackConfig, { sourceMap: config.build.productionSourceMap, parallel: true }), + new CompressionPlugin({ + algorithm: 'gzip', + test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'), + threshold: 10240, + minRatio: 0.8 + }), // extract css into its own file new ExtractTextPlugin({ filename: utils.assetsPath('css/[name].[contenthash].css'), diff --git a/package-lock.json b/package-lock.json index 95a96c4..206d954 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2515,6 +2515,19 @@ } } }, + "compression-webpack-plugin": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-1.1.12.tgz", + "integrity": "sha512-UpBXSHbrCSdSZieAffqXlAQpLO2fikVVRYibrWlbHYzKpOw1Y4jwkVZ/+S91GzWuJvXSbc8SBy/e8fQJh8uEMQ==", + "dev": true, + "requires": { + "cacache": "^10.0.1", + "find-cache-dir": "^1.0.0", + "neo-async": "^2.5.0", + "serialize-javascript": "^1.4.0", + "webpack-sources": "^1.0.1" + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", diff --git a/package.json b/package.json index 8366ebd..f12b837 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "babel-preset-env": "^1.3.2", "babel-preset-stage-2": "^6.22.0", "chalk": "^2.0.1", + "compression-webpack-plugin": "^1.1.12", "copy-webpack-plugin": "^4.0.1", "css-loader": "^0.28.11", "d3": "^7.3.0", diff --git a/src/App.vue b/src/App.vue index 9c987e0..fd619db 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,5 +1,5 @@