背景:
gzip是一种文件压缩格式,浏览器可以自动解压这种格式,服务器返回的是gzip的格式文件时,response的头部会有
Content-Encoding: gzip 这样的头部告诉浏览器:“我返回的是gzip格式文件,你要用对应的方法去解压它”
方式:
有两种方式可以让服务器返回的资源是gzip压缩文件:
一、在服务器端开启压缩http请求的目标文件,比如nginx(我只会nginx),在nginx的配置文件里开启下面的配置,当http请求资源的时候,服务器就会将资源压缩后再传输给浏览器。但是这是要消耗cpu资源的。
gzip:on
二、第二种方式预先将资源压缩成gzip格式,再放入服务器里。前端使用webapck的插件compression-webpack-plugin来在打包时压缩文件 。了解 compression-webpack-plugin
npm install compression-webpack-plugin --save-dev
在webpack的plugins里配置:
new CompressionWebpackPlugin({
filename: '[path].gz[query]', //压缩后的文件名
algorithm: 'gzip’, //