作者BF109Pilot (德軍王牌飛行員)
看板Ajax
標題[問題] 請問關於把網頁元件跟JS模組化
時間Wed Nov 13 13:26:06 2013
小弟正在用html5弄一個線上影像處理的網站
程式本身是沒太大問題 但JS檔加起來太大了
用Closure Compiler壓過 也還是很大
這時就想把主要功能切割開成數個模組
比如說分成首頁 / 樣板區 / 素材匯入區 / 工作區 / 作品藝廊 / FB匯出區 等
都是可獨立運作的網頁
視需要再載入其他模組
而模組彼此間的溝通,就用自定事件的廣播跟偵聽來作
ㄧ開始我用JQuery.load() 把其他模組的弄進來
但發現load()會把 <script src="xx.js"></script> 給濾掉
只能載入DOM的部份
(直接把script寫在網頁裡面倒是可以跑,但顯然不宜這樣用XD)
去Stack Overflow看....很多人都說
先ajax進其他網頁 看裡面有哪些外部script的tag 然後再eval
但以前看一些書 都把eval視為洪水猛獸 說能不用就不用
還是說我應該另外用getScript()去載??
請問有其他更合適的方法嗎??
另外請教一下
像我這種模組化的需求
用什麼方法來做會比較好??
還是有什麼framework可以用?
謝謝先<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.171.182.14
1F:推 turtleknight:requireJS? 11/13 14:43
2F:推 tomap41017:推樓上 11/13 15:18
4F:→ BF109Pilot:感謝樓上們 可是我需要把整個能獨立運作的網頁載進來 11/13 17:34
5F:→ BF109Pilot:requireJS是不是只能處理js啊??? 11/13 17:36
6F:→ BF109Pilot:還是說我只能去爬網頁 把重複的元件(如banner去掉) 11/13 17:37
7F:→ BF109Pilot:然後把需要但還沒載入的.js給getScript()進來?? 11/13 17:38
8F:→ mmis1000:那乾脆用iframe呢?parent物件代表母頁框 11/13 18:26
9F:推 turtleknight:那就用angularjs service/factory +nginclude/ngview 11/13 20:58
10F:→ lyforever:jquery load partial才會擋js 11/13 23:03
11F:→ lyforever:可以用jquery load 處理module的html, requrejs處理js 11/13 23:03
12F:→ jokester:載"能獨立運作的網頁"可以用iframe,但這樣就更多東西要載 11/14 14:29