对外暴露两个对象:seajs和define
use方法执行步骤:
seaJs.use加载依赖资源
如果依赖的资源没有被加载,走m.fetch
如果已经加载可以直接使用,走m.load
module加载状态:
状态含义:
FETCHING:正在加载模块
SAVED:模块已经加载完毕,并缓存在cachedMods中
LOADING:开始加载依赖模块
LOADED:依赖模块加载完毕
EXECUTING:模块执行中。‘执行’的含义:1.执行该模块工厂函数(前提还未执行过);2.返回mod.exports
EXECUTED:执行完成
在一个模块中require其他模块时,执行动作:
在执行require这段时,‘../x/x’已经在define阶段被加载并且缓存在cachedMods中去了。
此时会执行mod.exec操作(1.执行该模块工厂函数(前提还未执行过);2.返回mod.exports)