读书人

PhoneGap 1.5版本 cordova.js 简析

发布时间: 2012-07-03 13:37:43 作者: rapoo

PhoneGap 1.5版本 cordova.js 简析 1
PhoneGap升级到1.5除了内部的名字变动外,更改最多的是js部分的调用机制.套用官方论坛的描述就是: 我们希望任意API对于开发者是可安装、可发现、可卸载的,同时希望改变各种平台的js实现存在差异的现状。最大的变化就是在js中引入了模块化机制。

PS: 下文中使用的代码为phonegap 1.5 - android的js代码,作为学习对部分原理简单的介绍一下

所谓的模块化机制其实就是所有的功能定义和调用都必须通过全局定义的require和define两个函数来实现。这种方式既避免了变量名称和作用域的污染,也简化了注册和使用方式等等(废话就不说了)。具体的定义和调用代码格式如下:


可以看到modules在其中非常重要,应该是一个缓存对象的感觉.define函数只是简单的将对象放入到modules里面,而require也很简单,如果modules中不存在直接报错,否则如果存在工厂方法就返回build函数的结果否则返回exports对象.所以可以了解到关键点应该在build和modules.
factory(require, module.exports, module);


参考了多个phonegap提供的功能定义,发现exports也并没有被使用,所以每次看的时候不需要被这个东西和module的关系把自己搞晕.但是由于js参数传递的特点不能用
exports = myObject进行替换(具体原因可以自己试试看再查资料,这里不做讨论)

读书人网 >JavaScript

热点推荐