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的地方。

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

Solutions Collecting From Web of "Phonegap应用程序中的错误:未定义模块cordova / plugin_list已经定义"

导致这个问题的一个原因是在你的HTML文件中导入cordova_plugins.js

检查是否是你的情况,并将其删除。

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

所以,最后这个错误的另一个明显的方法是,如果你无意中把下面的代码放在你的页面上两次。

 <script type="text/javascript" src="cordova.js"></script> 

我在这个同样的错误上只输了几个小时,才意识到我已经在页面的顶部和底部添加了cordova.js。

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

在命令行上创build任何项目写入以下命令:

 $ phonegap create <path> <package_name> <project_name> 

 $ phonegap create hello com.example.hello HelloWorld 

要添加任何平台到您的项目:

 cd <path_to_project> $ phonegap build <platform> 

 cd hello $ phonegap build ios $ phonegap build android 

要添加任何插件function到您的项目:

 cd <path_to_project> $ phonegap local plugin add <path_to_plugin> 

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