We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
随着项目功能增多,打包产生的js\css 越来越大,尤其是移动端H5应用,不仅导致网络传输增大,界面加载速度也会越来越慢。接下来介绍一种降低网络传输,加快页面加载速度的方法:gzip 压缩
gzip是一种文件格式和用于文件压缩和解压缩的软件应用程序。后来也用于 HTTP 压缩,是一种用于加速HTML和万维网上其他内容发送的技术。
客户端和服务器之间是如何通信来支持gzip的呢?通过下图可以清晰的了解,图片来源
通过 nginx 生成 nginx 有一个模块是 gzip 模块,然后你只要开启了,nginx就会帮你把数据(静态资源 和 接口数据)进行压缩,然后传入到客户端,客户端来解压。从而节约传输时间,然后网站就能更快的打开。
node 获取其他服务端也可以生成 gzip文件
通过客户端生成 客户端生成有很大的好处,当请求到达站点服务器时就不需要通过服务器进行压缩了,直接拿 zp 文件返回就行。尤其是访问量较大的时候,可以降低服务器压力。
1、项目安装插件 compression-webpack-plugin
compression-webpack-plugin
yarn add compression-webpack-plugin -D
2、配置插件
// vue.config.js const CompressionWebpackPlugin = require('compression-webpack-plugin') module.exports = { publicPath: "./", configureWebpack: { devtool: "source-map", // 打包gzip压缩 new CompressionWebpackPlugin({ filename: '[path][name].gz', algorithm: 'gzip', test: /\.js$|\.css$|\.jpg$/, threshold: 10240, minRatio: 0.8 })] }, }
重新打包项目,原来的js 或者css 文件会再生成一个 .gz 的文件,可以看到js 文件大小缩小了2/3左右,如下
nginx gzip部分配置
// nginx.config gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 5; gzip_types application/javascript text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_static on; gzip_disable "MSIE [1-6]\.";
只需浏览器(以chrome为例)打开开发模式,点击请求js 文件,“请求标头”包含 Accept-Encoding:gzip 代表浏览器支持gzip。“响应表头”包含Content-Encoding:gzip表示响应内容包含gzip,代表gzip开启成功。
Accept-Encoding:gzip
Content-Encoding:gzip
网站通过gzip处理,静态资源降低了2/3 左右,大大降低了网络传输,提升了页面加载速度。总之非常值得使用!
The text was updated successfully, but these errors were encountered:
No branches or pull requests
前言
随着项目功能增多,打包产生的js\css 越来越大,尤其是移动端H5应用,不仅导致网络传输增大,界面加载速度也会越来越慢。接下来介绍一种降低网络传输,加快页面加载速度的方法:gzip 压缩
gzip 是什么
gzip是一种文件格式和用于文件压缩和解压缩的软件应用程序。后来也用于 HTTP 压缩,是一种用于加速HTML和万维网上其他内容发送的技术。
gzip 原理
客户端和服务器之间是如何通信来支持gzip的呢?通过下图可以清晰的了解,图片来源
网站 gzip 文件如何生成
通过 nginx 生成
nginx 有一个模块是 gzip 模块,然后你只要开启了,nginx就会帮你把数据(静态资源 和 接口数据)进行压缩,然后传入到客户端,客户端来解压。从而节约传输时间,然后网站就能更快的打开。
通过客户端生成
客户端生成有很大的好处,当请求到达站点服务器时就不需要通过服务器进行压缩了,直接拿 zp 文件返回就行。尤其是访问量较大的时候,可以降低服务器压力。
vue 项目中配置生成 gzip
1、项目安装插件
compression-webpack-plugin
2、配置插件
重新打包项目,原来的js 或者css 文件会再生成一个 .gz 的文件,可以看到js 文件大小缩小了2/3左右,如下
nginx 配置
nginx gzip部分配置
验证网站gzip 是否开启成功
只需浏览器(以chrome为例)打开开发模式,点击请求js 文件,“请求标头”包含
Accept-Encoding:gzip
代表浏览器支持gzip。“响应表头”包含Content-Encoding:gzip
表示响应内容包含gzip,代表gzip开启成功。总结
网站通过gzip处理,静态资源降低了2/3 左右,大大降低了网络传输,提升了页面加载速度。总之非常值得使用!
参考
The text was updated successfully, but these errors were encountered: