一名优秀的前端工程师必备技能之一就是要会性能监控,并且能相应的进行性能优化。最近,有需求将项目做一些优化,提升用户的体验。看了一下项目并没有开启gzip,于是着手实现gzip压缩,下面就是具体的实践过程。

我们在打开网站时,会加载各种资源文件,如js、css、html等等,如果这些文件较大的话,下载耗时过长,打开网页就会比较慢,用户体验不好。此时,可以采用gzip,可以大幅提高网页加载速度。项目是基于vue2开发的,以下过程只适用于vue2。

首先需要安装插件:

1 npm i -D compression-webpack-plugin

插件安装完成后,在项目的 vue.config.js 中,引入该插件并配置一下:

1 const CompressionPlugin = require("compression-webpack-plugin");//gzip
1 //在configureWebpack中添加以下代码
2 plugins: [
3 new CompressionPlugin({
4 test: /\.js$|\.html$|\.css/, // 需要压缩的文件类型
5 threshold: 10240, // 归档需要进行压缩的文件大小最小值,我这个是10K以上的进行压缩
6 deleteOriginalAssets: false // 是否删除原文件
7 })
8 ]

保存配置后打包:

1 npm run build

打包完成后的文件夹出现.gz结尾的压缩文件,说明已经压缩完成:

在打包过程中,可能会报错:

报错的原因是前面安装的  compression-webpack-plugin 插件版本过高,此时对它降级到5.0.0:

1 npm i -D compression-webpack-plugin@5.0.0

继续打包,成功!

至此,前端部分已经完成,想要真正实现gzip,还得需要服务器支持。

网站服务器用的nginx,跟后台沟通,让他在nginx的配置文件的http模块,加入下面俩行代码:

1 gzip on;  //开启gzip
2 gzip_types text/plain application/x-javascript application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; //gzip压缩的文件类型

等服务器重启完成后,发起网络请求,查看js文件:

发起请求如上图,代表gizp已经实现,原本3.0MB的js文件,压缩成1.0MB,资源加载时间减少了一大半。

ps:上图的Content-Encoding一栏,里面出现gzip即代表gzip开启成功!下面操作可将这一栏展示:

最后: 脚踏实地行,海阔天空飞!

前端性能优化实践-gzip的更多相关文章

  1. 前端性能优化之gzip

    前言: 如果你是个前端开发人员,你肯定知道线上环境要把js,css,图片等压缩,尽量减少文件的大小,提升响应速度,特别是对移动端,这个非常重要.常用的前端性能优化方法有如下几种 一.减少http请求 ...

  2. 前端性能优化:gzip压缩文件传输数据

    一.文件压缩的好处 前端生产环境中将js.css.图片等文件进行压缩的好处显而易见,通过减少数据传输量减小传输时间,节省服务器网络带宽,提高前端性能. 二.http协议如何支持压缩文件的传输 1.浏览 ...

  3. 前端性能优化之 gzip+cache-control

    刚刚在Node.js环境下使用gzippo模块进行了测试. 使用gzip的压缩率惊人的好,达到了50%以上. 再加上express的staticCache,配合cache-control max-ag ...

  4. 阿里巴巴 web前端性能优化进阶路

    Web前端性能优化WPO,相信大多数前端同学都不会陌生,在各自所负责的站点页面中,也都会或多或少的有过一定的技术实践.可以说,这个领域并不缺乏成熟技术理论和技术牛人:例如Yahoo的web站点性能优化 ...

  5. Web前端性能优化全攻略

    网页制作poluoluo文章简介:Web 前端性能优化是个大话题,是个值得运维人员持续跟踪的话题,是被很多网站无情忽视的技术. Web 前端性能优化是个大话题,是个值得运维人员持续跟踪的话题,是被很多 ...

  6. Web前端性能优化全攻略[转载]

    1. 尽量减少 HTTP 请求 (Make Fewer HTTP Requests) 作为第一条,可能也是最重要的一条.根据 Yahoo! 研究团队的数据分析,有很大一部分用户访问会因为这一条而取得最 ...

  7. Web前端性能优化——如何提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个"Duang"的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒, ...

  8. 【转】Web前端性能优化——如何提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...

  9. Web前端性能优化——提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...

随机推荐

  1. CVPR 2020目标跟踪多篇开源论文(下)

    CVPR 2020目标跟踪多篇开源论文(下) 6. Cooling-Shrinking Attack: Blinding the Tracker with Imperceptible Noises 作 ...

  2. 激光雷达数据到云cloud

    激光雷达数据到云cloud 在美国地质调查局的3D提升计划(3DEP)被激发到一个新的方式可用性宣布从3DEP仓库的访问和处理激光雷达点云数据. 3DEP一直在美国使用光检测和测距(激光)技术获取三维 ...

  3. UF_CSYS 坐标系操作

    Open C   UF_CSYS_ask_csys_info               获取WCS坐标系的原点坐标和矩阵标识UF_CSYS_ask_matrix_of_object    获得对象 ...

  4. UF_DRF 制图符号标注尺寸

    Open C uc5530uc5531uc5532uc5533uc5534uc5540uc5541uc5542uc5543uc5550uc5551uc5563uc5566uf5505uf5506uf5 ...

  5. NX二次开发-获取WCS标识

    函数:UF_CSYS_ask_wcs() 函数说明:获取工作坐标系对象的标识. 用法: 1 #include <uf.h> 2 #include <uf_csys.h> 3 e ...

  6. 类编程的WAF(下)

    一.编程语言的要素 天存信息的iWall3应用防火墙是一种创新式的类编程 WAF,它包含了编程语言的一些基本要素. 1. 变量 iWall3 中广义的变量包括报文变量.环境变量和用户变量:报文变量和环 ...

  7. Java后端精选技术:SpringBoot配置读取

    在早前的博客中曾经写过 Spring 程序通过 Bean 映射实现配置信息的读取. 在SpringBoot 框架中读取配置的方式变得非常多样,这导致读者在搜寻资料时反而容易迷糊. 到底,SpringB ...

  8. Linux集群环境下NTP服务器时间同步

    NTP介绍 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.它的用途是把计算机的时钟同步到世界协调时UTC(Universal Time ...

  9. 如何开启O2优化

    O2环境会使你的程序跑的特别快,然而大多数正式考试都不能开O2 然而平时做有些题强制开O2,会出现在本机运行正确,但是交上去RE的情况,这时你就要开O2了. 例如在本机运行时会有下标为-但可以运行,而 ...

  10. Linux安装界面简介

    1.安装欢迎界面:install or upgrade an exsiting system:安装或升级现有系统 install system with basic video driver:安装过程 ...