Openlayers項(xiàng)目開發(fā)完成后,需要將系統(tǒng)從開發(fā)環(huán)境轉(zhuǎn)移到生產(chǎn)環(huán)境。
開發(fā)環(huán)境下,Openlayers框架由上百個(gè)獨(dú)立的javascript程序文件組成,通過(guò)lib目錄中的Openlayers.js
動(dòng)態(tài)加載,便于各個(gè)功能模塊的開發(fā)調(diào)試。
Openlayers是一個(gè)非常龐大的Web地圖客戶端應(yīng)用框架,提供了很多功能模塊,通常在開發(fā)過(guò)程中不會(huì)用到全部模塊。
將系統(tǒng)中用到的獨(dú)立javascript程序庫(kù)組織成一個(gè)Openlayers.js文件,可以減少代碼冗余,加快加載速度,
同時(shí)也便于對(duì)代碼進(jìn)行壓縮和重編碼,在一定程度上保護(hù)軟件產(chǎn)品。
Openlayers提供了代碼組合和壓縮工具,在build目錄下,使用Python腳本實(shí)現(xiàn)。運(yùn)行該工具,需要安裝Python解釋器。
build文件夾中提供了三種預(yù)設(shè)的配置文件,它們是:
full.cfg 組合全部代碼
library.cfg 組合主要代碼
lite.cfg 組合最小代碼
項(xiàng)目配置文件建議使用library.cfg或lite.cfg為模板編寫。
配置文件中定義了四種作用不同的標(biāo)簽:
[first] 最前執(zhí)行的代碼文件
[last] 最后執(zhí)行的代碼文件
[include] 在預(yù)設(shè)配置中加入的代碼文件列表
[exclude] 從預(yù)設(shè)配置中去除的代碼文件列表
修改[include]和[exclude]項(xiàng),生成項(xiàng)目配置文件。
在命令提示符下,輸入python build.py mycfg my.js(如果是windows系統(tǒng),請(qǐng)將python.exe加入系統(tǒng)Path路徑)
生成的my.js就是生產(chǎn)版本的Openlayers庫(kù)文件,將my.js部署到生產(chǎn)環(huán)境,測(cè)試各項(xiàng)功能是否運(yùn)行正常。
build過(guò)程對(duì)代碼文件做了壓縮處理,壓縮率在40%左右,程序結(jié)構(gòu)沒(méi)有做任何改動(dòng)。
如果你想保護(hù)自己的代碼,建議使用其他工具進(jìn)行二次處理,這里推薦Google的Jscompiler,Google的很多項(xiàng)目都使用該工具進(jìn)行代碼壓縮和優(yōu)化。
Google Jscompiler的使用方法:
從http://code.google.com/intl/zh-CN/closure/compiler/下載最新版本。
Google Jscompiler采用Java編寫,需要安裝Java 6.0運(yùn)行時(shí)或開發(fā)包,如果沒(méi)有安裝請(qǐng)到Oracle網(wǎng)站下載。
解壓下載的zip包,生成compiler-latest目錄,其中compiler.jar是主程序,幫助包含在README中。
執(zhí)行Google Jscompiler請(qǐng)新打開一個(gè)命令提示符窗口,輸入:
java -jar compiler.jar --help 顯示所有可選參數(shù)說(shuō)明。
壓縮編碼單個(gè)javascript程序文件,請(qǐng)使用下面的命令:
java -jar compiler.jar --js=in.js --js_output_file=out.js
壓縮合并多個(gè)javascript程序文件,請(qǐng)使用下面的命令:
java -jar compiler.jar --js=in1.js --js=in2.js ... --js_output_file=out.js
經(jīng)過(guò)Google Jscompiler處理后的Openlayers庫(kù)文件可以再減少20-30%的大小,生成的文件經(jīng)過(guò)測(cè)試沒(méi)有任何問(wèn)題。
Google Jscompiler會(huì)自動(dòng)對(duì)代碼進(jìn)行分析,自動(dòng)篩選出邏輯上不可能到達(dá)的代碼,給出提示。
Google Jscompiler會(huì)對(duì)代碼邏輯流程重新組合和優(yōu)化,提高瀏覽器上的執(zhí)行效率。
經(jīng)過(guò)Google Jscompiler重新編碼后,Web客戶端的運(yùn)行速度有明顯提升。
posted on 2010-08-04 14:44
天狼 閱讀(3498)
評(píng)論(1) 編輯 收藏