作者ThreeDay0905 (三天)
看板Ajax
標題Re: [問題] 有架構化的Java Script
時間Sun Sep 19 15:23:19 2010
※ 引述《TonyQ (沉默是金。)》之銘言:
: 比較常見的作法是把所有用到的 lib 打成一包,
: 雖然這樣對第一次的瀏覽效能會比較有所損傷,
: 所以要搭配把script放在 </body> 的作法 。
: 但是考慮到瀏覽器的快取效果,「在大部分的情形下」,
: 這樣會比分別讀取大小不一的 script 檔效果來得好,
: 即使你把他們打包成一個。
: 這個問題要討論的我個人會分析成以下幾個面向
: 1.流量傳輸問題 - javascript file 的總大小
: 2.連線數問題 - javascript file 的總數
: 以上兩點是比較偏瀏覽器環境的限制,基本上是處於比較好解決的那塊,
: 常見是 yui compressor 搭配一些簡單的 shell script 跟規範工作流程 ,
: 要費點功夫但不會很難搞定,而且這比較屬於一次性的環境建設。
: 一般來講會把專案的原始碼跟發布的過程中,去進行一個 deploy 的程序,
: 在那時透過自動化程序來對 script 進行壓縮的動作。
所以在實做上的作法
主要還是偏向把js檔元件化去拆開來
共用的元件庫(jQuery)
延伸基礎類別的函式庫(DateTime, Array, String)
常用的函式庫
功能導向的程式元件
乃至於該頁面專屬的js檔(bind Event, 或其他的控制)
然後再依照該頁的需求把那些js檔import進來
這樣確實會比較有架構而且好維護了
但是問題的關鍵變成再發佈時您所說的自動化程序
來將該頁有用到的script檔包成一個檔案並且進行壓縮
請問這部份的技術有關鍵字可以讓我去google嗎 = =
其實遇到最大的問題就是雖然現在開發專案已經有依照需求拆成許多的js檔
但變成是一頁會有七八個甚至更多的js檔
實在上線的時候還要一個一個手動壓縮並且組成一個檔案
要是有哪邊功能上線之後還要修改
就會很痛苦
這點困擾我很久 = =
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.140.101
1F:→ TonyQ:有這麼多 js 檔,那他們大部分是偏向頁面的還是環境的?.? 09/19 15:52
3F:→ TonyQ:打包是一部分,怎麼在開發環境跟發布環境切換,這就要靠專案 09/19 15:53
4F:→ TonyQ:去定rule了,有的人會在web.config去寫參數來設定不同mode 09/19 15:53
5F:→ TonyQ:來再程式中判斷載入不同檔案.這些算是架構方面的思考.. 09/19 15:54
6F:→ TonyQ:一開始切換會很痛,不過大多算是一次性的成本... 09/19 15:54
7F:→ TonyQ:哦 你提到上線之後需要修改, 這問題基本上如果說你是一個頁 09/19 16:04
8F:→ TonyQ:面獨立打一整包 js , 有共用元件修改時全部都要改,的確是很 09/19 16:04
9F:→ TonyQ:頭痛。所以一般不會這麼凶狠啦,至少是兩隻。 09/19 16:04
10F:推 PsMonkey:GWT GWT 啦... [挖鼻孔] 09/19 17:32
11F:→ ThreeDay0905:請問有推薦的書籍或著網站嗎 我google ASP.NET GWP 09/19 17:44
13F:→ ThreeDay0905:可是還是不太清楚他的概念或著怎麼去實做 09/19 17:45