看板 Ajax 關於我們 聯絡資訊
※ 引述《hyderai (飄)》之銘言: : 是因為變數scope的問題,還是其他原因?有解決方式嗎? : js檔include其他js檔、css檔是不是不常見, : 因為沒有include,所以code reuse只能用複製的方式嗎? 我說說我的看法 , 會有include通常是希望達到lazy load的要求, 也就是「我需要的我再讀取,我不需要的就不要進來」。 在解決這個問題上方案目前不多,不過還是有, 一些lib都有類似的作法,比方說dojo的import,JQuery的load等。 其實複製不複製倒不是重點,幾乎所有server side都支援include, 把共用的js檔include到頁面中即可,比較大的問題通常是在於載入的流量。 但事實上,會造成這樣的理由是比起不採用Lazyload所造成的資源負擔, 「由於request過多所帶來的多餘等待時間」才是真的讓人會想殺人的。 所以很多站都寧可把所有js檔packing成一包(最好再gzip一下)就在這裡, 假設request交握的過程是100ms,10個非defer的js檔就是1000ms (1秒)。 跟減少不重複的精簡使用script,打成一包這樣來得更實際。 (有些「想像上的完美」真的只是存在於想像中的事情, 這種事情在經營百人的網站上就能看見了,還不用到千人。) 回到正題, 這是一個別人所作的解決方案 , ( http://0rz.tw/f74l3 ) 他不只精準的解決js loading的問題, 更解決了在loading之外,相依性的問題, 像jquery plug-in 必須depend on jquery 等, 算是蠻值得參考的. 但如前面所述,當你大多數頁面都需要載入多個js file時, 應該要把打包js檔案列入考慮,而不是取用lazy load 方案。 --  ▄▅▆▇███▇▆▅▄▃        ╰┼╯─╮ ╮         ◥███████████◣       ╰┼╯=│=│         ◥██████───────    *. ╯  ╯ ╯ の 物 語 .*  ◥███████──────◣ ~ ◢◣             ◢◣  ◥██████───────◤   ◥◤  空白的世界.翼 ◥◤  ◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂telnet://tony1223.no-ip.info -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.27.68
wctang:所以是各有用途,有些環境下是必須用lazy loading 07/19 10:12
wctang:(ex:Greasemonkey, 奇怪這個版很少討論到它) 07/19 10:12
wctang:不過jQuery有lazy loading的功能,預設load jQuery就可免去 07/19 10:12
wctang:前面討論的麻煩事了 07/19 10:13
TonyQ:能見度跟使用者族群的問題...我承認我沒看過Greasemonkey XD 07/19 12:55
TonyQ:感謝樓上的資訊._.a 07/19 12:55