添加新插件后,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 中,camera
和dialogs
。所以我删除然后再次添加dialog
,问题就解决了。【参考方案2】:
什么对我有用:
删除 ./platforms [或移至其他地方作为备份] 删除 ./plugins [或移至其他地方作为备份] 构建例如:ionic cordova build android --prod
或ionic 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 未更新的主要内容,如果未能解决你的问题,请参考以下文章