require:
module b parse ...
module a parse ... (模块a, b 并行加载执行 )
module main parse ... ( 主模块加载执行)
module a execute ...
module b execute ...
seajs:
module main parse ... ( 主模块加载执行)
module a parse ... ( 模块 a 加载执行)
module a execute ...
module b parse ... ( 模块 b 加载执行)
module b execute ...
AMD 是提前执行,CMD 是延迟执行。
我们先把依赖分为两种,“强依赖” —— 肯定需要 和“弱依赖” —— 可能需要。 对于强依赖,如果要性能优先,则考虑参照依赖前置的思想设计你的模块加载器,我个人也更推崇这个方案一些;如果考虑开发成本优先,则考虑按照依赖就近的思想设计你的模块加载器。 对于弱依赖,只需要将弱依赖的部分改写到回调函数内即可。