Tags:Vuegzip
Category: Front End
项目启用gzip加速
启用gzip需要前后端都开启
- 前端
需要用到 compression-webpack-plugin
- 安装 npm i -D compression-webpack-plugin
- 以vue-cli3为例子
const CompressionWebpackPlugin = require("compression-webpack-plugin") //引入compression-webpack-plugin
module.exports = {
//代码
configureWebpack: {
plugins:[
new CompressionWebpackPlugin({
filename: "[path].gz[query]", //
algorithm: "gzip",
test: /\.(js|vue|css|json|txt|html|ico|svg)(\?.*)?$/i,
threshold: 1024, //当文件大于 1024B 时进行压缩
minRatio: 0.8, //压缩率
deleteOriginalAssets: false //压缩完毕是否删除源文件
})
]
}
}
前端配置完毕
- 后端 以tomcat 为例
- 找到 tomcat目录/conf/server.xml 在tomcat监听端口配置项下加入
<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on" //新加代码 => 设置压缩为on || off || force 表示强制压缩
compressionMinSize="2048" //新加代码 => 设置当文件大于此大小时才压缩
compressableMimeType="text/html, text/xml, text/javascript, application/javascript, text/css, text/plain, text/json" //新加代码 => 设置压缩得文件类型
/>
可能会碰到得问题
- 当前端代码打包后单个文件大于48k时, tomcat 将不会压缩此文件因为可能回影响到服务器性能 默认压缩的文件最大值时48kb
如果想修改此值需要进入到 tomcat目录/conf/web.xml 手动修改此值大小
//代码
<para-name>sendfileSize</para-name>
<para-value>500</para-value> //修改后 当文件大于500Kb后服务器不会压缩此文件