读书人

Cordova CLI源码分析(5)添加平台

发布时间: 2013-09-05 16:02:07 作者: rapoo

Cordova CLI源码分析(五)——添加平台

添加平台支持,其实本质是利用各平台SDK环境创建原生工程文件。所以,所有函数也是围绕这一主题展开。

入口当然是platform函数

module.exports = function platform(command, targets, callback) {

.....

};

先不看具体源码,再看其他几个函数

(1)module.exports.supports = function(project_root, name, callback) {

这个函数主要执行以下几步:

//检查传入参数

//判断平台是否支持

//获得顶层目录下platforms.js中parser参数指定的各平台解析文件

//检查各平台依赖的SDK是否存在

 var end = n(targets.length, function() {                hooks.fire('after_platform_add', opts, function(err) {                    if (err) {                        if (callback) callback(err);                        else throw err;                    } else {                        if (callback) callback();                    }                });            });

这个函数是使用的node的nCallbacks插件,https://npmjs.org/package/ncallbacks

官方文档解释是function that executes n times,在上面这段代码中意思就是,end函数只能被执行targets.length次,调用超过targets.length次再调用end,其内部函数也不会再被执行,其实就是限制次数,避免当平台列表中为空后还误执行



读书人网 >移动开发

热点推荐