【问题标题】:Error in Phonegap Application: Uncaught module cordova/plugin_list already definedPhonegap 应用程序中的错误:已定义未捕获的模块 cordova/plugin_list
【发布时间】:2014-01-20 07:59:09
【问题描述】:

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

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

这是 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"
    ]
}, ...

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

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

【问题讨论】:

  • 您好,我建议您不要升级,从 cli 使用 cordova 创建一个新项目,也使用 cli 安装您的插件并将您的 www 旧项目复制到新项目。我认为它可以防止你犯很多错误。问候。

标签: android cordova phonegap-plugins cordova-3


【解决方案1】:

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

检查是否适合您并将其删除。

【讨论】:

  • 谢谢你 grytrn,这为我解决了这个问题......我可以发誓我需要调用 cordova_plugins.js,但似乎我的应用程序在没有它的情况下加载良好,我是不再收到错误消息。
  • 我的 HTML 文件中没有 cordova_plugins.js。但我仍然看到我的项目存在同样的问题。关于这个@grytrn 的任何线索?
  • @LohithKrishna 我在尝试在远程站点中使用cordova插件时看到了这个异常。在这个线程中查看我的答案。我不确定你是否有同样的情况。 stackoverflow.com/a/26551455/534495
  • @LohithKrishna 没有细节我无能为力。
  • 我的一大堆烦恼都源于此。很好的答案,谢谢。
【解决方案2】:

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

因此,导致此错误的另一种明显方法是,如果您无意中将以下代码两次放在页面上。

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

我在同样的错误上浪费了几个小时才意识到我在页面的顶部和底部都添加了cordova.js。

【讨论】:

    【解决方案3】:

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

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

    $ 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
    

    为您的项目添加任何插件功能:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-30
      相关资源
      最近更新 更多