Phonegap应用程序出错:未定义模块cordova / plugin_list已定义

我一直试图解决从Phonegap 2更新到Phonegap 3.3的许多问题,但我似乎无法解决这个问题。

我从一些用户那里读到,未捕获的模块exception会导致导入的插件停止运行。 我有一些奇怪的错误与本地通知插件,所以我想解决这个问题,看看它是否有帮助。

这是Eclipse中logcat中出现的错误:

[INFO:CONSOLE(79)] "Uncaught module cordova/plugin_list already defined", source: file:///android_asset/www/cordova.js (79) 

我知道这是一个奇怪的问题,因为Phonegap 3的性质(插件已被重做)。 我认为问题在于导入cordova_plugins.js脚本,因为该脚本的顶行如下:

 cordova.define('cordova/plugin_list', function(require, exports, module) { module.exports = [ { "file": "plugins/org.apache.cordova.file/www/DirectoryEntry.js", "id": "org.apache.cordova.file.DirectoryEntry", "clobbers": [ "window.DirectoryEntry" ] }, ... 

这是唯一可以find错误中引用的cordova / plugin_list存在的地方。

但是,我不确定解决此问题的正确方法。 我没有使用plugman来导入我的插件,而是使用Phonegap 3.3 API中概述的CLI命令

导致此问题的一个原因是在html文件中导入cordova_plugins.js

检查是否属于您的情况并将其删除。

文件cordova.js自动加载cordova_plugins.js

因此,如果您无意中将以下代码两次放在页面上,另一种显而易见的方法就是结束此错误。

  

我在同一个错误上丢失了几个小时才意识到我已经在页面的顶部和底部添加了cordova.js。

您必须使用Phonegap命令行界面创建和部署任何phonegap项目/应用程序

要在命令行上创建任何项目,请执行以下命令:

 $ phonegap create    

 $ phonegap create hello com.example.hello HelloWorld 

要向项目添加任何平台:

 cd  $ phonegap build  

 cd hello $ phonegap build ios $ phonegap build android 

要向项目添加任何插件function:

 cd  $ phonegap local plugin add  

 cd hello $ phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git