作者TonyQ (沉默是金)
看板Ajax
标题Re: [ js ] .js include js档
时间Fri Jul 18 22:28:31 2008
※ 引述《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
1F:推 wctang:所以是各有用途,有些环境下是必须用lazy loading 07/19 10:12
2F:→ wctang:(ex:Greasemonkey, 奇怪这个版很少讨论到它) 07/19 10:12
3F:→ wctang:不过jQuery有lazy loading的功能,预设load jQuery就可免去 07/19 10:12
4F:→ wctang:前面讨论的麻烦事了 07/19 10:13
5F:→ TonyQ:能见度跟使用者族群的问题...我承认我没看过Greasemonkey XD 07/19 12:55
6F:→ TonyQ:感谢楼上的资讯._.a 07/19 12:55