我们无法控制用户访问网站设备的硬件规格。最终用户对网站设备的访问权限是高端还是低端,互联网连接的好坏,这意味着我们必须尽可能地进行优化。网站要满足所有人的需求用户。同时,根据W3Tech的统计数据,全世界网站中有将近96%的人使用JavaScript,而JavaScript已成为有史以来最受欢迎的编程语言之一。
以下是一些技巧,可帮助您更好地优化JavaScript代码并表现出更好的性能。
顺便说一句,请确保共享和重用JS组件,以在高质量代码(生成时间)和合理的交付时间之间达到适当的平衡。您可以使用Bit(Github)等流行工具将项目中的组件(香草JS,TS,React,Vue等)共享到Bit的组件中心,这样您就不会浪费太多时间。
1.删除未使用的代码和功能
应用程序包含的代码越多,需要将更多的数据传输到客户端。浏览器解析代码所花费的时间越长,有时某些功能可能根本无法使用。最好仅在开发环境中保留这些额外的代码,而不在生产环境中使用它们,以免使客户的浏览器负担无用的代码。
继续问自己是否需要功能,功能或代码。可以手动删除未使用的代码,也可以使用Uglify或Google的closurecompiler之类的工具删除未使用的代码。您甚至可以使用一种称为摇树的技术从应用程序中删除未使用的代码。
像Webpack这样的打包程序提供了这项技术。如果要删除未使用的npm软件包,可以使用npm prune命令。
2.随时缓存
高爆炸性的传奇广告会挑出所有老板。 9999次武器缓存的第二次爆发通过减少等待时间和网络流量提高了网站的速度和性能,从而减少了显示资源所需的时间。这可以通过缓存应用程序接口(Cache API)或超文本传输协议缓存(HTTP缓存)来实现。当满足某些条件(例如发布新内容)时,上述缓存机制可以处理并重新生成缓存。
3.避免内存泄漏
高级语言JS负责几种低级管理,例如内存管理。垃圾回收机制在大多数编程语言中非常普遍。用外行的话来说,垃圾收集机制只是收集并释放已分配给目标对象的内存,并且该内存未在程序的任何部分中使用。在C语言等编程语言中,开发人员必须使用malloc()和dealloc()函数来分配和释放内存。
尽管JavaScript自动执行垃圾收集,但有时并不完美。
在JavaScript ES6中,引入了“地图”和“集合”及其“较弱”同胞。此“较弱”同类项称为WeakMap和WeakSet。它们具有对对象的“弱”引用,并允许对未引用的值进行垃圾回收,从而防止内存泄漏。
4.使用代码拆分
广告[震撼]德国取暖器在3秒内变热,整个房间都变热了! 3天1千瓦小时!如果您有使用Google灯塔的经验,那么您会熟悉一种称为“首次满意涂料”的指标。这是“灯塔报告”的效果部分中跟踪的六个指标之一。
初始内容呈现(FCP)度量了用户导航到页面后浏览器呈现第一个DOM内容所需的时间。页面上的图像,非白色元素和可缩放矢量图形(SVG)被视为DOM内容,而iframe中的任何内容均不包含在内。
获得更高的FCP分数的最佳方法之一是使用代码拆分。代码拆分是一种在开始时仅将必要的模块发送给用户的技术。 FCP分数受减小最初传输的有效载荷大小的影响很大。流行的模块管理器(例如webpack)提供代码拆分。也可以在本机ES模块的帮助下加载各个模块。
5.使用Web Workers在后台运行CPU密集型任务
Web Workers允许脚本在后台线程中运行。如果您有一些高强度任务,可以将它们分配给Web Worker,Web Workers可以运行这些任务而不会干扰用户界面。创建后,Web Workers可以将消息发送到JavaScript代码指定的事件处理程序,以与该代码进行通信,反之亦然。
过去推荐
免费资源