跟随代码的执行,在定义了require和define并赋值后,是将cordova所有模块一一注册,例如:
define("cordova",function(require,exports,module){
//工厂函数内部实现代码
});
这里需要注意的是,工厂函数在这个时候并没有实际执行,而只是定义,并作为一个参数传递给define函数。
所有模块注册完之后,通过
window.cordova = require('cordova');
导入至全局环境。
因为是注册后第一次导入,所以在执行require('cordova')时,modules['cordova'].factory的值是注册时的工厂函数,转变为boolean值时为true,从而在这里会通过build调用这个工厂函数,并将这个工厂函数从注册缓存里面删除。
接下来的就是去执行cordova的这个工厂函数了。
本文深入探讨了Cordova模块的加载过程,包括如何通过工厂函数注册模块,以及首次导入时如何触发工厂函数的执行。详细解释了require和define的作用,以及它们在模块加载过程中的关键角色。
456

被折叠的 条评论
为什么被折叠?



