当前位置: 首页 > 科技观察

Web前端性能优化教程:精简JS,去除重复脚本

时间:2023-03-12 20:02:45 科技观察

本文是Web前端性能优化系列文章的第七篇。主要讲的内容:精简Javascript代码,去除重复脚本。完整教程可以查看:Web前端性能优化一、精简javascript基础知识精简:去除javascript代码中的所有注释和不必要的空白字符(空格、换行符和制表符)以减小javascript文件的大小。混淆:像缩小一样,从javascript代码中删除注释和空格,另外重写代码。作为重写的一部分,函数和变量名将被转换为更短的字符串,从而进一步减小javascript文件的大小。混淆的缺点1.不足:混淆过程本身很容易引入错误。2.维护:由于混淆会改变javascript符号,所以需要标记任何不能改变的符号,以防止混淆器修改它们。3.调试:混淆后的代码难以阅读,这使得在生产环境中调试更加困难。相对来说,精简出错的概率会小很多。一个缩小和混淆的例子这个例子将使用JSMin进行缩小,使用yuicompressor进行混淆。原js如下://anthor:teroy/*Thisisfortest.*/functionshow(name,day){alert(name);alert(day);}functiontest(name,day){varvariable=名字;show(name,day);}JSMin简化代码:functionshow(name,day){alert(name);alert(day);}functiontest(name,day){varvariable=name;show(name,day);}yuicompressor混淆代码:functionshow(b,a){alert(b);alert(a)}functiontest(c,a){varb=c;show(c,a)};可见,混淆更能减少js代码的大小。在简化和混淆之间进行选择。我们知道启用gzip压缩可以减少组件的传输大小。压缩后,精简和混淆的区别会进一步缩小。考虑到混淆可能带来的额外风险,优先考虑使用精简。但是,如果你追求最好的性能,你可以使用混淆,但你必须做足够的测试以确保混淆不会引起其他问题。JQuery作为一个非常流行的前端框架,不仅有开发版,还提供了用于实际web部署的min版。这个最小版本使用混淆来最小化代码总量。2.删除重复脚本导致脚本重复的主要因素有两个:团队规模和脚本数量。开发一个网站需要大量的资源。不同的团队需要构建大型网络的不同部分。当团队整合和沟通工作做得不够时,很容易出现重复脚本。当然,脚本的数量也是一个重要的部分。脚本越多,就越容易重复脚本。重复脚本如何影响性能在没有缓存的情况下,如果在html中重复链接同一个脚本,IE7及以下(包括IE7)会产生两次HTTP请求,而IE8及以上则不会。脚本的重复执行除了会产生不必要的HTTP请求外,也会浪费时间,脚本的重复执行在浏览器中是存在的。如何避免重复脚本1.形成良好的脚本组织。当不同的脚本包含相同的脚本时,可能会出现重复的脚本,有些是必要的,有些则不是,所以需要组织好脚本。2.实现脚本管理器功能。【编者推荐】如何成为一名优秀的Web前端工程师Web前端性能优化进阶之路Web前端开发中的Touch事件对Web前端框架和类库的思考激烈竞争下Web前端开发与iOS端开发的异同IT企业如何提速WEB前端页面