网站首页 > 技术教程 正文
一、问题:vue也算是现在流行的前端框架,vue打包时(npm run build),会生成一个index.html静态页面和一个静态文件夹,文件夹中有css,js,img等等,其中让我们注意的就是JS,我们所有动态数据,都会由他来处理的。如果你在打包时,路由用的异步加载,那就可能会出现我现在这个问题。把所有JS打成一个包
从图上可以看出,每个js的大小超过1M,这会导致客户端首次访问时出现加载很久,才慢慢出现页面。这是我的一个公众号的前端,每次打包更新到nginx后,第一次访问(不管访问哪个路由)都是很慢,甚至有时候要十几秒,首次访问后再访问其他路由,都非常快。这是因为首次访问时,客户端会从服务器上重新下载大量的资源,资源越大,带宽越小,下载越慢。
二、解决
1、路由改成异步加载,使得每个JS分解开,访问哪个页面就加载哪个页面。
2、打包时,进行压缩打包
2.1、首先安装插件 compression-webpack-plugin 命令:cnpm install --save-dev compression-webpack-plugin
2.1、然后进入config目录下的index.js中,找到productionGzip: false,修改把他修改为true。如下图
这个时候我们可以打包一下,如果打包出现错误的话,那可能是版本不支持,这个时候,我们需要重新下载productionGzip版本,进行降级
命令:cnpm install --save-dev compression-webpack-plugin@1.1.12
下载完后,我们再打包一下:npm run build 打包成功,我们看一下结果如何。如下图,JS都被打包成.gz包,整个大小缩小很多。
3、内部引用转成外部链接
vue有一大特点就是可以像maven一样下载依赖包,vue在打包时,是直接把引用的本地依赖都一并打包到静态文件里,这使得原本就很大的资源,就得更加承重,这个时候,我们就可以考虑,部分依赖变成链接的引用。大家是否还记得多年前,还使用JS原生态时,怎么引用JQ的?同理。我们这些采用CDN节点方式进行引用。
3.1、修改根目录下的index.html
有人会问,这些链接我怎么知道,还有我本地版本是多少,我应该引用哪个版本的。大家可以进入main.js找到你要把依赖改成外部链接的包,然后跳到对应的依赖源码中,在文件路径上就会显示出对应的版本了。如我引用了mint-ui。路径上显示的是2.2.13版本,那他所对应的CDN节点就是https://cdn.bootcss.com/mint-ui/2.2.13/index.js ,同理,大家可以把链接复制到浏览器上,只要改后面的依赖名/版本号/引用JS名即可(引用JS名,可以进入依赖包里查看)。有些依赖是没有在CDM节点的,如果出现404,那就多试几次版本和名字,若试不出来,那就只能继续使用依赖。
把依赖转链接后,就需要把原来的main.js里的引用注释掉,否则还是会打包进去,
3.2、项目根目录下build/webpack.base.config.js中添加externals。这里做一个映射作用,
修改完后,我们进行打包,然后部署上去,看看样式和依赖有没有丢失,如果有丢失,再回来调试。若找不出原因,可以直接还原回依赖的方法。压缩就已经解决很大的问题了。
4、提高网络带宽
网络带宽是一个优化瓶颈,如果带宽就只有1M,你再怎么优化,也是有限的。不如提升一下,比如使用阿里云的朋友,可以临时提升一下带宽,试一下效果如此。若有提升,那建议提升带宽
- 上一篇: 用户反馈网站访问突然很慢,如何快速排查和解决?
- 下一篇: 两步优化nginx,性能达到10万+并发
猜你喜欢
- 2024-10-10 网站打开速度慢?从这些方面去优化
- 2024-10-10 Web端页面加载卡顿缓慢问题解决方法分享
- 2024-09-14 Nginx 性能如何最大化调优?来这告诉你如何配置!
- 2024-09-14 精品推荐!Nginx的日志文件、缓存、自动列目录、压缩等相关配置
- 2024-09-14 k8s网络延迟排查与优化实战分享(k8s网络不稳定)
- 2024-09-14 容器中Nginx高并发参数调优实战(nginx并发量过高怎么处理)
- 2024-09-14 记一次公众号程序启动慢的原因(微信加载公众号为什么那么慢)
- 2024-09-14 晓桂科技,Nginx的502和504报错的解决方法
- 2024-09-14 Nginx+Tomcat 配置负载均衡集群(nginx+tomcat集群的配置)
- 2024-09-14 Nginx精简安装指南(nginx1.16安装)
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)