首页 > javascript按模块加载的方法

javascript按模块加载的方法

在用google地图javascript API,发现他的js按模块加载很优雅,比如我在页面引入这个链接:
https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false

然后下面这个主文件回加载进来:
https://maps.gstatic.com/intl/zh_cn/mapfiles/api-3/15/6/main.js
据我的观察google Map API里面的所有类(Map,Marker)都在这里面定义,而他们的具体实现是分模块的,比如Map的实现对应于map这个模块,Marker对应marker模块。

而模块之间也存在依赖关系,所以接下来就是加载所需要的模块了:
https://maps.gstatic.com/cat_js/intl/zh_cn/mapfiles/api-3/15/6/{common,map,util,marker}.js

试验中,如果你在代码里面调用了InforWindow类,那么这个对应的模块也会在你调用后才被加载:
https://maps.gstatic.com/cat_js/intl/zh_cn/mapfiles/api-3/15/6/{info}.js

这是怎么实现的?模块之间怎么划分?有没有成熟的工具可以做到类似这样的效果?


暂时没有看过google的实现方式,但是自己在使用Requirejs,实现按需加载。
http://www.requirejs.org/
另,关于'LABjs、RequireJS、SeaJS'之类产品的对比,可参考知乎:
http://www.zhihu.com/question/20342350/answer/14828786


楼主要是没有接触过js模块加载的话。。。
直接上seajs吧。
那个文档很不错。上手很容易。

【热门文章】
【热门文章】