日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

优化JS加载时间过长的一种思路

發(fā)布時(shí)間:2025/5/22 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 优化JS加载时间过长的一种思路 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章版權(quán)由作者李曉暉和博客園共有,若轉(zhuǎn)載請(qǐng)于明顯處標(biāo)明出處:http://www.cnblogs.com/naaoveGIS/。

1.背景

去年公司在漳州的一個(gè)項(xiàng)目中,現(xiàn)場工程人員反映地圖部分出圖有點(diǎn)緩慢,大約需要20多秒。和另外一個(gè)同事一起花了一兩天進(jìn)行了代碼優(yōu)化、代碼壓縮、中間件優(yōu)化以及服務(wù)部署優(yōu)化后使地圖出圖縮短到了9秒上下。

這里對(duì)上次的經(jīng)驗(yàn)做一個(gè)總結(jié),提供一種優(yōu)化JS文件加載時(shí)間過長的思路。這里的中間件使用的是tomcat6.0。

2.代碼優(yōu)化

2.1代碼模塊化

代碼重構(gòu),使代碼模塊化。利用require.js,實(shí)現(xiàn)代碼按需加載。

2.2框架精簡

去掉不必要的框架,或者將框架中涉及到的部分提取出來,去掉不用的部分。比如漳州項(xiàng)目中,用了公司的傳統(tǒng)框架YUI,但是界面部分是用Jquery編寫。YUI框架僅僅利用了其事件機(jī)制。這里我們將YUI的事件機(jī)制進(jìn)行提取,封裝成一個(gè)單獨(dú)的類后,其余部分全部舍去。

3.代碼打包壓縮

對(duì)代碼模塊化后的一個(gè)很大的好處就是方便代碼打包,避免出現(xiàn)公共變量名沖突等問題。這里使用ant對(duì)JS文件進(jìn)行壓縮合并打包。

? ? ? ? ? ? ? ? ? ? ? ?

壓縮時(shí)要注意各模塊之間的依賴關(guān)系。將被依賴模塊放在依賴模塊的前面。

4.中間件壓縮優(yōu)化

中間件環(huán)節(jié)壓縮的原理是:在客戶端請(qǐng)求網(wǎng)頁后,從服務(wù)器端將網(wǎng)頁文件壓縮,再下載到客戶端,由客戶端的瀏覽器負(fù)責(zé)解壓縮并瀏覽。相對(duì)于普通的瀏覽過程HTML ,CSS,Javascript , Text?,它可以節(jié)省40%左右的流量。更為重要的是,它可以對(duì)動(dòng)態(tài)生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網(wǎng)頁也能進(jìn)行壓縮,壓縮效率驚人。

Tomcat5.0以后的版本是支持對(duì)輸出內(nèi)容進(jìn)行壓縮的,使用的是gzip壓縮格式。

在server.xml文件中增加配置方式如下:

?

5.服務(wù)部署優(yōu)化

當(dāng)訪問后臺(tái)請(qǐng)求增多時(shí),JS加載也會(huì)變慢,優(yōu)化服務(wù)的部署能起到一定的作用。

5.1中間件線程池優(yōu)化

在server.xml文件中合理增加中間件線程池的數(shù)目:

?

5.2中間件內(nèi)存的優(yōu)化

?在catalina.bat文件中合理增加中間件的內(nèi)存:

?

5.3合理部署服務(wù)

漳州項(xiàng)目中的GIS服務(wù)和多個(gè)其他服務(wù)部署在同一個(gè)中間件下。由于GIS服務(wù)的訪問量遠(yuǎn)大于其他項(xiàng)目服務(wù)。在訪問量驟升時(shí)會(huì)對(duì)其他服務(wù)造成一定的卡頓。

解決方案是對(duì)GIS項(xiàng)目在服務(wù)器上單獨(dú)發(fā)布。

有博友給出一個(gè)建議:把動(dòng)態(tài)請(qǐng)求和靜態(tài)請(qǐng)求分離,單獨(dú)部署靜態(tài)文件服務(wù)器。此方法個(gè)人覺得很好。

5.4合理集群

設(shè)置多個(gè)服務(wù)節(jié)點(diǎn),進(jìn)行服務(wù)的負(fù)載均衡配置。

?????????????????????????????????????????????????????     ?-----歡迎轉(zhuǎn)載,但保留版權(quán),請(qǐng)于明顯處標(biāo)明出處:http://www.cnblogs.com/naaoveGIS/

?????????????????????????????????????????????????????????????????????????? 如果您覺得本文確實(shí)幫助了您,可以微信掃一掃,進(jìn)行小額的打賞和鼓勵(lì),謝謝 ^_^

                                        

轉(zhuǎn)載于:https://www.cnblogs.com/naaoveGIS/p/4500406.html

總結(jié)

以上是生活随笔為你收集整理的优化JS加载时间过长的一种思路的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。