从javascript钩子获取cordova包名称
我正在写一个带有节点钩子的cordova插件来运行after_prepare。
这仅适用于Android。
从这个钩子中我需要得到cordova包的名字,所以我可以复制一个文件到src / com / example / myproject文件夹(如果包是com.example.myproject)。
如果我知道包名,我可以制作这个path。 我现在有硬编码的工作,但我需要这个工作与两个不同的软件包名称。
有没有办法从插件钩子的代码中获取包名?
module.exports = function(ctx){ var fs = ctx.requireCordovaModule('fs'); var path = ctx.requireCordovaModule('path'); var deferral = ctx.requireCordovaModule('q').defer(); //get package name here //do other stuff }
我做了很多研究,但一直没能find。
谢谢。
它看起来不像上下文对象可用,但可以尝试parsingconfig.xml。
module.exports = function(context) { var fs = require('fs'); var path = require('path'); var config_xml = path.join(context.opts.projectRoot, 'config.xml'); var et = context.requireCordovaModule('elementtree'); var data = fs.readFileSync(config_xml).toString(); var etree = et.parse(data); console.log(etree.getroot().attrib.id); };
local-webserver插件使用类似的策略来读取configuration属性。