网站性能优化实战之—— gzip (webpack, vite 开启gzip 部署)-天下标王

网站性能优化实战之—— gzip (webpack, vite 开启gzip 部署)

简介: nginx 有一个模块是 gzip 模块,然后你只要开启了,nginx就会帮你来把数据(静态资源 和 接口数据)进行压缩,然后传入到客户端,客户端来解压,然后在进行代码的读取,其实这一步就是节约带宽,减少传输的代码包的数量。从而节约传输时间。然后网站就能很快打开了。

这些天个人博客网站终于写好了,使用的技术是react17 + vite + redux + saga + ts等,后台使用的是 node + koa + mysql + ts ,

前台地址是: http://blogs.chenliangliang.top/

前端代码地址: https://github.com/cll123456/blog

服务端代码地址: https://github.com/cll123456/my-blog-serve

问题描述


项目是写好了,但是我的首页加载出来竟然要20多s(服务器是最低标准,http协议)


20210711084953423.png


效果


我使用另一个浏览器给大家截图,为了避免大家说是缓存啥的。


20210711084854342.png


看到效果后,大家都会觉得比较满意的,但是怎么做的呢?大家可能都知道,不就是 启动了个 gzip嘛。 对的,是这样的。


20210711085124410.png


思路


这一步其实是最难的,对于一个只知道概念,但是不知道原理的人来说。所以一切从原理出发。


zip 文件由哪端生成?


这个是一个问题,网上大部分教程会告诉你,在服务端配置nginx, 然后 xxx 一波操作猛如虎。 但是对于新手来说,这样真的好吗?不告诉人家原理,是不行的。所以咋就是那个打破沙锅问到底的,不弄明白。觉也睡不好。


服务端生成


zip 文件可以服务端生成,例如:


nginx


nginx 有一个模块是 gzip 模块,然后你只要开启了,nginx就会帮你来把数据(静态资源 和 接口数据)进行压缩,然后传入到客户端,客户端来解压,然后在进行代码的读取,其实这一步就是节约带宽,减少传输的代码包的数量。从而节约传输时间。然后网站就能很快打开了。


node


node也有相关于 compression 的库,然后配置一些选项,来选择对数据(资源和接口数据)的压缩,这个是同一个道理,就是服务端来进行压缩嘛,然后在传输。


其他的服务也有相关的库,怎么使用要看对于的语言了,这里就不展开


客户端生成


既然 服务端可以生成gzip文件, 那些构建工具 webpack, rollup, 等为啥也要写一些压缩的包? 而且会发现包好像周下载量还停高的。


例如:


2021071109075391.png



20210711091018882.png


为啥要客户端生成呢? 问得好, 我们知道服务端生成是不是每一次请求都要去请求服务器,然后服务器来生成压缩包。服务器每一次生成压缩包是不是会不会浪费服务端的性能哇!, 如果客户端生成,服务端先判断是否存在的后缀名为zip的文件,直接去拿,不存在在来压缩,这样是不是把服务器每一次都要压缩的事情,交给客户端了呢? 虽然客户端打包进行代码压缩会很慢。 但是我们打包只是发布代码的时候打一次包,而服务器是要面对成千上万的人来访问等。 说到这里大家应该明白了吧。


实战


这里服务器我选择使用nginx,来配置。


服务端来进行压缩


对于服务端来进行压缩,客户端啥也不用做,只需要把打好的包放入对应的目录下面,然后在访问的时候 nginx 自动进行压缩传给客户端进行解析等。


nginx配置


使用HttpGzip(这个模块支持在线实时压缩输出数据流)模块.


下面这一段命令的作用域是 : http, server, location, 意思是在 http, server, location 这三个地方加入到哪个地方都行,为了不影响其他的,个人建议加到 location模块,这样其他的就不会影响了。


    gzip  on;
    gzip_buffers 4 16k;
    gzip_comp_level 6;
    gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php;
相关文章
|
8月前
|
缓存 前端开发
Vite 和 Webpack 的区别
Vite 和 Webpack 的区别
279 0
|
2月前
|
前端开发 JavaScript 开发者
工程化(webpack+vite)
在现代前端开发中,工程化是提高开发效率和项目质量的关键。UniApp 结合 Webpack 和 Vite,提供强大的工程化支持。Webpack 功能强大,支持复杂项目的构建;Vite 则利用现代浏览器的 ESM 特性,提供快速的开发体验。开发者可根据项目需求选择合适的工具,显著提升开发效率和项目质量。
|
3月前
|
前端开发 JavaScript 开发者
工程化(webpack+vite)
工程化(webpack+vite)
|
4月前
|
缓存 资源调度 JavaScript
万字总结webpack实战案例配置
该文章总结了Webpack在实际项目中的配置案例,包括如何配置多页面应用、使用高级插件、优化构建速度及减少输出文件大小等方面的实战经验。
|
4月前
|
设计模式 前端开发 JavaScript
webpack实战之手写一个loader和plugin
该文章详细讲解了如何从零开始编写一个自定义的Webpack Loader和Plugin,包括它们的工作原理、开发步骤以及如何将自定义的Loader和Plugin集成到Webpack配置中。
webpack实战之手写一个loader和plugin
|
4月前
|
前端开发 JavaScript 开发者
工程化(webpack+vite)
工程化(webpack+vite)
|
5月前
|
缓存 JavaScript 前端开发
用 vite 2 平滑升级 vue 2 + webpack 项目实战
用 vite 2 平滑升级 vue 2 + webpack 项目实战
|
8月前
|
自然语言处理 JavaScript 前端开发
webpack实战——手写常用plugin
webpack实战——手写常用plugin
|
8月前
|
前端开发 JavaScript 开发者
如何在Vite和Webpack之间选择合适的构建工具?
【4月更文挑战第14天】选择Vite或Webpack取决于项目需求、团队熟悉度和场景。Vite适合快速开发,小到中型项目,Vue.js技术栈,有较简单的配置和快速冷启动。而Webpack在大型项目中占优,提供深度优化,丰富的插件生态系统,适合复杂构建需求和React项目。考虑因素还包括学习曲线和社区支持,最佳工具应满足项目当前及未来需求。
96 2
|
8月前
|
前端开发 JavaScript 开发者
vite和webpack区别
【4月更文挑战第14天】Vite与Webpack都是前端构建工具,各有特点。Vite凭借原冷启动和模块热更新,适合现代前端项目,尤其是Vue、React等。它的配置简单,但社区支持较小。相比之下,Webpack拥有强大的插件系统和广泛社区支持,能适应各种项目需求,但配置复杂,启动慢。开发者应根据项目需求选择合适的工具。
192 2

相关内容推荐

seo 粉丝运营观澜seo优化潜江产品seo推广公司排名武汉市seo优化网站流量指标seo如何对seo进行优化seo顾问金华网站制作选择乐云seoseo关键词优化公司那家好岳阳seo优化师seo怎么没有优化网站鸡西seo公司选择16火星seo内部优化博客seo的博客广告上海招聘seo经理石家庄seo网络优化招聘网龙汪峰seo龙口seo推广dz板块seo设置seo中百度收录的数据山东搜狗seo优化工具荆门seo网络推广多少钱宜良seo优化网络营销是seoseo外包软件关键词河南百度seo关键词优化方法抚顺专业的seo优化排名价格seo站群盈利seo自学和零基础哪个好花果园seo优化万词霸屏软件推荐乐云seo专家于都seo网络营销收费套餐seo的构思图武汉百度seoseo公司排名分类十堰本地seo推广价格吴桥企业站seo神马下拉词优化千年seo金堂seo优化推广收费seo优化公司产品介绍普陀seo优化哪里有保定seo推广企业陇南seo公司佳选24火星seo全线更新seo优化网站查询清远seo推广咨询报价正规seo优化业务网站SEO优化实训seo自媒体靠谱吗新闻seo系统费用黄冈房产seo推广都有哪些渠道知乎专栏文章seo花钱少的关键词优化seo江北放心seo优化怎么样seo公司询问26火星给力沙洋县seo关键词排名优化网站seo优化ppt模板青海seo全网推广贵州移动端seo优化理念盐田区seo服务商大同整站seo优化公司逆东seo快速排名实战讲解南阳新站seo关键词排名工具网络seo搜行者SEO新乡什么是seo关键词优化费用seo精准营销排名seo标题关键字描述营销神马下拉词优化千年seoseo易学堂魔贝seo课关键词seo撩游云速捷14seo跟sem哪个工资高益阳seo关键词排名哪家好seo的标签惠州seo站内优化怎么做山东抖音seo优化电商seo算法seo个人工作总结方城seo公司蓝海词采集软件seo酉阳智能化seo推广大概多少钱徐州关键词seo优化镇江seo推广公司价格苏州seo优化怎么做品牌推广计划seo济宁建站 seo优化巨野seo公司福州网络seo技术seo和sem傻傻分不清楚seo属于定向式营销福田区seo找哪家梧州seo公司推荐18火星seo内部优化方案引流北京seo哪家便宜焦作seo优化有哪些白帽seo是啥意思马甲seo老城区seo优化排行seo关键词优化方案 si舟山seo优化站公司seo竞价排名优化seo公司石家庄seo网站找圣安华北苑关键词seo优化百度快照收费seo鹿泉seo优化推广荔湾区关键词seo优化机构正规seo推广哪家专业佛山seo站外推广价格河北产品seo优化外包百度霸屏加盟seo推广seo自动增加外链便宜seo推广优化惠州网络推广seo优化是什么黄冈外包seo推广怎么做中山seo公司推荐19火星物流运输seo优化哪家专业仙桃本地seo推广多少钱济宁建站 seo优化seo发布外链有什么用树枝seo排名系统株洲网络seo优化公司泰安seo优化排名怎么选宁波seo文章优化渠道建阳区提供seo费用是多少滁州seo推广公司有哪些seo优化后台冯耀宗seo课程 百度云做seo的一些弯路附子seo伪原创中卫seo公司就选14火星温州前端seo优化青岛网络推广seo优化哪家好上海seo培训机构哪里好东莞品牌seo推广机构seo公司排名分类灰帽seo外包运营正规seo外包广告哈尔滨seo推广优化惠州seo站内优化怎么做seo文章质量舟山专业的百度seo产品推广技术认可乐云seo淘宝怎么加入seo谷歌seo入门基础知识上海seo排名企业孟州seo优化关键词seo语言编程游戏行业seo优化策划为什么那么多人做seo好记SEOseo是怎么做好的seo数据分析教学视频黑龙江行业seo推广seo的站群推广怎样的自建网站符合seo高级seo的工作内容seo6微信seo怎么设置武汉SEO优化有限公司零基础seo要怎么开始学广告短视频seo系统 抖音自动发布营口seo优化慧聪商学院seo搜索引擎seo优化推广在哪里学太原互联网seo推广公司排名关键词聚合seo流量如何做好seo统计数据分析百姓网seo黄山seo公司佳选16火星怎么样做免费的百度seo 优化网站代码混淆seosem和seo关系式包头seo张阔海谁的化学式是H2SEO3和平区正规抖音seo优化报价热门seo推广排萍乡seo公司优选8火星seo在线培训构杭州seo代理商迁安效果好的seo优化有哪些枣庄seo外包哪家好seo控制seo排名工具就选云尚网络万词霸屏系统找乐云seo十年崂山seo辽宁关键词排名seo惠州企业网站seo服务商斗米seoseo推广地域的设置策略seo软件火乙星26放心天津seo关键词系统总部seo软件只找23火星软件泉州seo推广营销关键词新疆seo技术培训新闻营销系统首选乐云seo罗湖seo优化方案如何运用seo成都如何进行seo河间seo优化的公司庆阳谷歌seo公司seo最需要优化的三个要素

合作伙伴

天下标王

龙岗网络公司
深圳网站优化
龙岗网站建设
坪山网站建设
百度标王推广
天下网标王
SEO优化按天计费
SEO按天计费系统