添加新插件后,cordova_plugins.js 未更新

Posted

技术标签:

【中文标题】添加新插件后,cordova_plugins.js 未更新【英文标题】:cordova_plugins.js is not updated after adding new plugin 【发布时间】:2014-01-05 04:58:34 【问题描述】:

我刚开始在 android 中使用cordova。

我在添加插件时遇到问题。

我使用cordova插件从Win7的cmd添加org.apache.cordova.camera。 它被添加但不在 cordova_plugins.js 文件中。

当我在 cmd 中键入 cordova run android this 时文件正在更新,但随后我的所有代码都被删除并替换为基于 Web 的骨架应用程序。为什么会这样?如何自动更新此文件?

这就是我的 cordova_plugins.js 的样子:

cordova.define('cordova/plugin_list', function(require, exports, module) 
module.exports = [
    
        "file": "plugins/org.apache.cordova.dialogs/www/notification.js",
        "id": "org.apache.cordova.dialogs.notification",
        "merges": [
            "navigator.notification"
        ]
    ,
    
        "file": "plugins/org.apache.cordova.dialogs/www/android/notification.js",
        "id": "org.apache.cordova.dialogs.notification_android",
        "merges": [
            "navigator.notification"
        ]
    ,
    
        "file": "plugins/org.apache.cordova.vibration/www/vibration.js",
        "id": "org.apache.cordova.vibration.notification",
        "merges": [
            "navigator.notification"
        ]
    
];
module.exports.metadata = 
// TOP OF METADATA

    "org.apache.cordova.dialogs": "0.2.5",
    "org.apache.cordova.vibration": "0.3.6"

// BOTTOM OF METADATA
);

如您所见,没有相机插件。它已添加到我的项目中,但未添加到此文件中,这就是当我尝试在我的 js 文件中使用它时它无法正常工作的原因。

我希望你明白我在说什么。

【问题讨论】:

【参考方案1】:

当你输入时它是否显示在列表中:

cordova plugin ls

你重新运行了吗:

cordova build wp7

【讨论】:

不知道它是否适用于 OP,但我在 Android 上遇到了同样的问题,并且“cordova build android”更新了 www 文件夹和 cordova_plugins.js 文件中的插件。 我有同样的问题,相机插件没有添加到 cordova_plugins.js。我用phonegap plugin list 检查我的插件,有两个插件没有添加到cordova_plugins.js 中,cameradialogs。所以我删除然后再次添加dialog,问题就解决了。【参考方案2】:

什么对我有用:

删除 ./platforms [或移至其他地方作为备份] 删除 ./plugins [或移至其他地方作为备份] 构建例如:ionic cordova build android --prodionic cordova prepare 这会重置所有内容,从 config.xml 获取 FRESH 插件

PS:从package.json 添加/删除/更新插件和包的版本并预先运行npm i

您可能还需要使用正确的版本更新 config.xml(如果您尝试修复版本冲突)

【讨论】:

【参考方案3】:

我在使用另一个插件时遇到了同样的问题,我做了一个古老而神奇的把戏:我重新启动了 Windows (Windows 7)

重新启动 Windows 后,我执行了以下步骤:

移除所有插件(不知道是否需要全部移除) 删除了 cordova_plugins.js 我执行了platforms/android/cordova/clean.bat 小米插件有依赖(Inappbrowser),所以我先安装了Inappbrowser。 我安装了插件

我不知道是否所有这些步骤都是必要的,也许只是重新启动 Windows。但是,它对我有用。

【讨论】:

以上是关于添加新插件后,cordova_plugins.js 未更新的主要内容,如果未能解决你的问题,请参考以下文章

如何使用cordova插件中downloader

缺少cordova_plugins.js

Cordova6.x自定义插件之Andorid

理清cordova插件的调用流程

如何在jira中动态或使用插件添加新值以选择列表字段

使用 jQuery UI 可排序插件添加项目后刷新列表