白屏时间长的原因?优化的方法?pnpm的了解

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。白屏时间长的原因?优化的方法?pnpm的了解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

白屏时间

用户点击一个链接或输入URL地址后,显示第一个画面的时间。

白屏时间的重要性:当用户访问时,等待页面的时间越短,用户感知网站的速度就越快,体验越好,可提升用户体验,减少用户的跳出,提升页面的留存率。

过程

地址栏中输入url;浏览器查看缓存-系统缓存-路由器缓存,如果有,会从缓存中取。发送请求之前,域名解析,获取相应的ip地址;浏览器向服务器发起tcp连接,建立tcp三次握手;成功后,发送请求,请求数据包。服务器处理请求,将数据返回至浏览器;浏览器收到http响应;读取页面内容,渲染,解析,生成Dom树,解析样式,js交互,显示页面

白屏-性能优化

1.域名解析优化

DNS缓存优化;预加载策略;稳定可靠的DNS服务器

2.服务端处理优化

3.浏览器下载,解析,渲染页面优化

尽可能的精简HTML结构代码;js放到文件中,不要使用内联JS代码;将首屏内容所需的css内联到HTML中,能使css更快地下载。优先加载首屏所需图片;目前就这些,

pnpm 本质也是一个包管理器,和 npm / yarn 没有区别,但是,有两个优势

包安装速度极快;

磁盘空间利用非常高效;

嵌套 + 扁平 + pnpm-lock.yaml

打开通过 pnpm 安装的项目 node_modules 文件夹,当前 pack.json中所声明的各个依赖,而‘真正’的模块文件,存在于 node_modules/.pnpm,由 模块名@版本号的形式的文件夹扁平化存储(解决依赖重复安装)。

这样可以避免 项目中 跨声明访问 的问题,当前项目 node_modeules 只有声明的依赖才可以访问。

而 pnpm-lock.yaml 文件如同 yarn.lock package-lock.json 一样,为项目提供一份各个依赖稳定的版本信息。

硬连接与更高效的复用

与 yarn 的PnP模式 效果类型, 为提升 文件存储效率以及降低文件 IO开销,node_modules/.pnpm 中存储的文件其实是 pnpm 实际缓存文件的 硬链接,从而避免多个项目带来多份相同文件引起的空间浪费。
“内容寻址的文件系统” 来存储依赖文件。如果有两个版本的 a模块 依赖,但两个版本之前只有一个文件存在差异,pnpm 只会新增一个差异文件,最大化的提升文件存储效率。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/163332.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!