类型错误:'未定义'不是Sencha Touch和cordova 3.0的功能(评估'cordo

TypeError: 'undefined' is not a function (evaluating 'cordova.exec') with Sencha Touch and Cordova 3.0

本文关键字:功能 cordo cordova 评估 Touch 错误 未定义 不是 类型 Sencha      更新时间:2023-09-26

我正在使用Apache Cordova 3.0和Sencha Touch 2.3进行POC项目。有一段时间一切都很好,但现在每当我试图调用Cordova中的代码来调用我的自定义插件时,都会因为标题中的错误而失败。

我知道onDeviceReady事件正在被触发,因为我监听它,并在收到它时弹出警报,每次都会触发警报。

不确定还需要检查什么或提供什么其他详细信息?

此错误说明您的自定义插件未在应用程序中正确配置。

1) 您是否在页面中包含了自定义插件的js文件?在使用自定义插件功能之前,在cordova.js之后添加.js文件。

2) 你是如何将自定义插件添加到你的项目中的?始终建议使用CLI工具添加/删除任何插件。

我也面临同样的问题。看起来Adobe在从2.x到3.x的过程中真的一团糟。

我在插件中所做的是检查cordova.exec,如果没有定义,则需要它。例如,在插件的顶部源代码添加以下内容:

 var cordova = require('cordova');
 cordova.exec = cordova.exec || require('cordova/exec');

这应该奏效。

致问候,

Eric

发现了问题-我在index.html中显式加载了cordova.js。但Sencha touch也以一种不明显的方式显式加载cordovajs(在app.json中自动指定)。一旦我删除了自己的cordova.js包,它就加载得很好。