seaJS源码

对外暴露两个对象: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)

 

 

posted on 2017-09-20 19:48  王雪皓  阅读(234)  评论(0编辑  收藏  举报