當前位置:首頁 > 網站(zhàn)建設

如(rú)何讓web程序飛(fēi)起來(lái)的(de)方法

來(lái)源:徐州億網網絡科(kē)技(jì)有(yǒu)限‌✘♠ε公司 時(shí)間(jiān):2012-03-26 作(zuò)者:

  當開(kāi)發人(rén)員(yuá→→n)使用(yòng)CSS或JavaScript文(wé'&¶™n)件(jiàn)工(gōng)作(zuò)時(shí),空(kō¥ ng)白(bái)內(nèi)容通(tōng≥♣)常是(shì)一(yī)件(jiàn)好(hǎo)事(shì)。♠ β♠空(kōng)白(bái)內(nèi)容包括縮進文(wén)件(jiàn)所使用(yòng)的(δ ≠φde)字符,增強可(kě)讀(dú)性的(de)間(jiān)距、以及為(wèi)了(l$∑↕e)在文(wén)章(zhāng)的(de)Ω≤α不(bù)同部分(fēn)添加一(yī)個‍δ(gè)可(kě)視(shì)間(jiān)隔而插入的(de)額外(wài)Ω‌‌空(kōng)行(xíng)。空(kōng)白(bái)內(nèi)容使文(wén)件(j♠≠♠"iàn)易于閱讀(dú)和(hé)維護。徐州網絡公司認為(wèi),如(rú)果CSS文(wén)件(jiàn)中有(yǒu)适當數(shù)量的♥✘(de)空(kōng)白(bái)內(nèi)容(和(hé)注釋),将$✘有(yǒu)助于開(kāi)發人(rén)員(yuán)理(lǐ)解CSS代碼的(de)意圖∞♦β↕。

  從(cóng)這(zhè)一(yī)點上(shàng)來(lái)說(shuō)↕♥♥€,将文(wén)件(jiàn)變得(de)更小(xiǎo)作(z÷✘uò)為(wèi)問(wèn)題的(de)一(yī)個(gè)長(cháng✔")期解決方案是(shì)不(bù)可(kě)行(xíng)的(Ωεβde),因為(wèi)文(wén)件(jiàn)很γ¶(hěn)有(yǒu)可(kě)能(néng)在将來(lái)會(huì)被修改。如×β↓'(rú)果将空(kōng)白(bái)內(nèi)容和(hé)注冊全部删除,CSS和§'(hé) JavaScript代碼就(jiù)很(hěn)難閱讀(dú•₹Ω¥)。

  問(wèn)題是(shì)逐漸增加的(de)空(k≤♦ōng)白(bái)導緻文(wén)件(jiàn)不(bù)斷增大(dà)。每個(gè)空(±σkōng)白(bái)行(xíng)、縮進和(hé)括号之間(jiān↕ )的(de)空(kōng)格至少(shǎo)占用(yòng)一(yī)個(gè)額外(wài)字符 &←,這(zhè)對(duì)于CSS或JavaScript代碼的(de)正确解析來(lái)說(s≥←huō)實際上(shàng)并不(bù)需要(yào)。首先,一(yī)兩個(gè)空β←(kōng)白(bái)沒有(yǒu)什(shén)麽大(dà)不(£$bù)了(le)的(de),但(dàn)是(shì)&±小(xiǎo)數(shù)量乘以一(yī)個(gè)很(hěn♦ •φ)大(dà)倍數(shù)時(shí)就(jiù)變成很(hěn)大(dà)的(d✘§e)數(shù)量了(le)。

  此外(wài),下(xià)載文(wé§∑n)件(jiàn)的(de)用(yòng)戶必須等待文∑×φσ(wén)件(jiàn)的(de)下(xià)載。盡管許多(duō)用(yòng)戶¶λ₩在他(tā)們第一(yī)次訪問(wèn)網站(zhàn)後可('≤kě)能(néng)就(jiù)有(yǒu)緩存的(de)↕λCSS或JavaScrip文(wén)件(jiàn),性能(néng)仍然會​λ₽(huì)對(duì)他(tā)們的(de)≤α第一(yī)次訪問(wèn)造成負面影(yǐng)響。如(rú)果可(kě)↔≤以減少(shǎo)CSS和(hé)JavaScript文(®∏↑wén)件(jiàn),即使每次1KB,都(dōu)可(kě)以減少(shǎo)←↑數(shù)千字節的(de)浏覽器(qì)必須加載的(de)數(sh±λ±≠ù)據。

  解決方案:壓縮

  要(yào)解決問(wèn)題并從(cóng)小(xiǎo)資源獲益,一(yī)個(g£‌≥è)顯而易見(jiàn)的(de)解決方♠§¥≥案是(shì)從(cóng)CSS和(hé)JavaScrφ☆ipt文(wén)件(jiàn)删除額外(wà©λ♣☆i)元素,比如(rú)注釋和(hé)空(kōng)白(bái)。但(dàn)是(≤ ♦shì),由于在開(kāi)發過程中從(c¥↑↔óng)文(wén)件(jiàn)删除注釋和(hé)空(kōng)白(bái)不(bù)$λ∑可(kě)行(xíng),一(yī)個(gè)較好(hǎoλ±)的(de)解決方案是(shì) &ldquo≠€↑;分(fēn)級” 的(de)網站(zhàn↓✘$)資源、優化(huà)它們、然後将其發布。

  編寫一(yī)個(gè)删除空(kōng)白(bái)字♥÷¶ 符的(de)定制(zhì)腳本最初聽(tīng)起來(lái)是(shì)一(yī)個(g∞♣è)可(kě)行(xíng)的(de)解決方案,但(dàn)是(shì)≤↔α在CSS和(hé)JavaScript文(wén)件(jiàn)中本身(shēn)>¥π↓都(dōu)有(yǒu)很(hěn)重要(yào)的(dφ‍ e)空(kōng)白(bái)。因此任何删除空✘₩₽∞(kōng)白(bái)和(hé)壓縮文€§←φ(wén)件(jiàn)的(de)工(gōng)具必須是(shì)足夠智能(×™ néng),可(kě)以區(qū)别哪些(xiē)語言中哪些(xiē>♣↔)空(kōng)白(bái)是(shì)重要(yào)的(de)。

  幸運的(de)是(shì),在社區(qū)中已經可(kě)以找到(dà←≥≤​o)這(zhè)種工(gōng)具了(le§ ),它們已經經過資源(比如(rú) CSS 和(hé) JavaScrip 文(wén)件(ji♦ àn))壓縮測試了(le)。其中一(yī)個(g♦∏λè)工(gōng)具就(jiù)是(shì) YUI Com™✘₽pressor,一(yī)個(gè)來(lái)自(zì)Yahoo! Developer Net≤>✘work的(de)可(kě)用(yòng)工(gōng ÷)具。

  YUI Compressor

  通(tōng)過YUI,以下(xià)優化(huà)将在JavaS<≤÷‍cript文(wén)件(jiàn)中執行(xíng):

  删除空(kōng)白(bái)。從(cóng)JavaScri↔$÷pt代碼中删除所有(yǒu)不(bù)重要(yào)的(de)空(kōng)白(bái),包括♠∏新行(xíng)。

  删除注釋。從(cóng) JavaScript£×文(wén)件(jiàn)中删除所有(yǒu)注釋,除了(le)這(zhè)些(xiē)C風(fē∑¶ng)格的(de)注釋,以 /*! 序列開(kāi)始的(de)。如(rú)果公司版±✘權或者其他(tā)信息必須保留在文(wén)件(jiàn)中,務必使用(yòng)該序列包含注釋←"✘→內(nèi)容。

  重命名 Method-scoped 變量。除非使用(yòng)YUI Compressor 命$'令的(de) --nomunge選項,否則YUI Compressor将自(zì)動 δ↓縮短(duǎn)JavaScript文(wén)件(jiàn)中的(de)變量名。(将變量聲♠♣↕明(míng)單獨留在函數(shù)外(wài),假設它們可(kě)能(néng)會(§∑huì)用(yòng)于其他(tā)地(dì)方)。由于JavaScript語言中的(de↓×¥)變量名僅需至少(shǎo)一(yī)個(gè)字符,就(jiù)能(néng)為₩∑(wèi)JavaScript文(wén)件(jiàn)節省相(xiàng)當多β₽>÷(duō)字符。替換變量稍微(wēi)混淆JavaS₩Ω cript代碼,但(dàn)是(shì)由于不(bù)需要(yào)修改代碼γ₽★‍版本,應該問(wèn)題不(bù)大(dà)。

  删除分(fēn)号。像壓縮CSS一(y •↔ī)樣,一(yī)些(xiē)不(bù)重要(yào)的(de)分<""(fēn)号(;)将被從(cóng)JavaScript代碼中删除。

  其他(tā)選擇。--line-break 選項對(duì)于分(fēn)離(π£©lí)文(wén)件(jiàn)可(kě)能(néng)是(shì)重要♠÷∞≠(yào)的(de),因此這(zhè)一(yī)行(xíng)不(bù)能(nén₹ g)太長(cháng)。(優化(huà)時(shí) YUI Compressor會(huì'σ ∞)删除換行(xíng)符。)

  看(kàn)看(kàn)優勢

  要(yào)想查看(kàn)壓縮的(de)優勢£≤​ ,可(kě)以使用(yòng)不(bù)同的(de)工(gōng)具,其中兩個(gè)是(shì₩¶)構建在浏覽器(qì)中,這(zhè)使得(​± αde)使用(yòng)它們比使用(yòng)分(f♣π←ēn)析工(gōng)具方便得(de)多(duō):Google Chro§π÷∑me Web浏覽器(qì)的(de)開(kāi)發人(rén)員(yu φ♣↑án)工(gōng)具和(hé)Mozi±β>lla Firefox的(de)Firebug插件(jiàn)。這(zh≥≤'∑è)兩個(gè)工(gōng)具都(dōu)展示了(le)下(xià)載的(de)附加資源以及文♠÷β£(wén)件(jiàn)大(dà)小(xiǎo)和(hé)下(xià)載它們∏‍♥浏覽器(qì)所用(yòng)的(de)時(shí)間(jiān)。

    &βπnbsp;   本文(wén)由徐州億網網絡公司(www.exz.cn)提供

公司動态

行(xíng)業(yè)資訊

營銷策劃