Tag: hook

科多瓦钩:停止节点,直到承诺完成

我正在写一个cordova钩子来更新before_prepare插件。 这里有三个问题: 我得到的错误:[TypeError:不能读取未定义的属性'缓冲'] 我想停止stream程,直到插件更新 是否有可能知道插件是从cordova插件registry还是从git仓库添加的? 我正在使用的代码: var plugin = context.requireCordovaModule('cordova-lib/src/cordova/plugin'), pluginNames = context.opts.cordova.plugins; function updatePlugin(pluginNames) { pluginNames.forEach(function (pluginName) { return removePlugin(pluginName).then(function () { addPlugin(pluginName); }, function(e) { console.log(e); // ERROR: [TypeError: Cannot read property 'buffer' of undefined] }); }); } function removePlugin(pluginNames) { return plugin('rm', pluginNames); } function addPlugin(pluginNames) { return plugin('add', pluginNames); } updatePlugin(pluginNames);

从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。 谢谢。