Cordova 插件2025年03月17日 | 阅读 9 分钟 插件可以定义为一段附加代码,用于使 Cordova Web 视图能够与原生平台进行通信。它可以为原生组件提供 JavaScript 接口。此外,它是一个可重用组件,负责定义应用程序的原生设备和平台功能之间的连接,例如相机、GPS 等。Cordova API 的所有主要功能都通过插件实现。有许多插件可用,可实现 Cordova 的功能,例如条形码扫描仪、GPS 等。 对于每个支持的平台,插件都包含一个单一的 JavaScript 接口以及一个原生代码库。这个 JavaScript 接口可以隐藏各种原生代码实现。我们还可以创建自己的插件,并将工作成果与多个节点共享。 在 Cordova 开发领域,我们可以将插件定义为 Apache 框架中最强大的工具之一。此外,它负责实现所有主要的 Cordova API 功能。所有可用插件都可以在Cordova 插件搜索页面上搜索到,该页面提供了条形码扫描仪、NFC 通信等功能。 Cordova 插件包含什么?Cordova 插件为原生组件提供 JavaScript 接口。这些插件包含各种元素,如下所示:
Cordova 插件的基本结构Cordova 插件的基本结构从上到下定义了包含目录的层次结构。 - 插件顶级文件夹 — plugin.xml — src/ — android/ <Java 源代码> — ios/ <Objective-C 源代码> — www/ <JavaScript 接口> -package.json — 与节点包相同,用于存储应用程序的元数据,如包名、版本号、描述等。 -README.md — npmjs 网站的文档。 -libs — android/ — <包含 Android 库> — ios/ — <包含 iOS 库> -hooks - 此目录指定可以在各种插件/应用程序生命周期事件中执行的脚本。 Cordova 插件如何工作?Cordova 包含一个位于 JavaScript 和原生代码之间的桥梁。该桥梁负责使用户能够通过通用的 JavaScript 接口编写原生代码。 Cordova 桥还用于将插件 JavaScript 接口暴露的所有特定方法映射到插件的原生代码。您可以在 JavaScript 和原生方法之间传递任何方法的参数。 在此,我们定义了一些与传递的参数一起使用的函数
Cordova 插件命令语法
Plugin-spec我们可以通过以下通用语法来指定各种 Cordova 插件: 语法<plugin-spec> : [@scope/]pluginID[@version]|directory|url[#commit-ish][:subdir]
解析插件的算法当我们想在项目中添加新插件时,命令行界面可以通过以下标准来解析插件。
冲突的插件在使用应用程序的插件时,可能会发生一些冲突,如下所示:
如果发现 edit-config 中的任何冲突,也可能出现错误消息。此消息会阻止插件被添加到平台。在将插件添加到平台之前,必须解决所有冲突。解决 edit-config 冲突的一个可能选项是修改受影响的 plugin.xml,以便不能修改相同的 XML 元素。我们还可以使用替代方法使用 --force 标志强制添加插件。此方法会忽略冲突检测,并用另一个插件覆盖所有冲突,因此应谨慎使用。 安装 Cordova 插件要为我们的应用程序安装 Cordova 插件,我们必须遵循一些手动步骤,如下所示:
npm install -g cordova
cordova create cordova-app
cordova plugin search camera cordova plugin add com.cordova.plugin.camera
构建插件开发人员使用 CLI 的plugin add 命令将新插件添加到项目中。我们可以将 git 存储库的 URL 作为参数传递给这些命令。此参数包含插件代码。例如,请参阅以下命令: cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git 上面的命令通过将 git 存储库的 URL 作为参数来实施 Cordova 设备 API。 应该注意的是,插件存储库必须包含一个顶级的 plugin.xml 清单文件。有多种方法可用于配置清单文件。您可以在官方插件规范页面上查看可用插件。以下代码提供了Device插件版本的基本示例: 让我们更好地理解以下代码。在代码的第三行,我们定义了 plugin 标签的 id 属性,该属性主要包含相同的反向域名格式,用于确定插件包。
使用 Plugman 验证插件我们可以将 Plugman 定义为用于安装和卸载插件的命令行工具。plugman 工具可确保插件是否为每个平台正确安装。 npm install –g plugman 上面的命令用于在系统上安装 plugman。 我们还需要一个有效的应用程序源目录。然后运行特定命令以确保 iOS 依赖项已正确加载。 plugman install --platform ios --project /path/to/my/project/www --plugin /path/to/my/plugin 发布插件如果您想将插件发布到任何基于 npmjs 的注册表中,首先,您应该在系统上安装plugman CLI。在上一节中,我们指定了安装 plugman CLI 的命令。如果您的系统中未安装,您可以参考它。 然后,为您的插件创建一个 package.json 文件。此文件与节点包相同,用于存储应用程序的元数据,如包名、版本号、描述等。 $ plugman createpackagejson /path-of-the-plugin 如果您没有 npm 账户,则必须在发布插件之前创建一个账户。最后,通过键入以下命令发布您的插件: $ npm publish /path-of-the-plugin 插件 API有不同套的 Cordova 插件可供您的应用程序使用。其中一些如下:
插件注意事项和兼容性Cordova 中使用的插件在质量和实现方面有所不同。某些插件与名为 Astro 的 WordPress 主题兼容性更好。如果插件需要显示自己的 UIViewController,则呈现的 UI 插件应能正常工作。 如果这些插件手动将 UIViews 集成到视图层次结构中,则某些插件可能无法正常工作。原因在于托管 Cordova JavaScript 的 UIWebView 永远不可见。插件需要进行更改才能使用 presentViewController()。 这些插件也可能发生冲突并显示错误。因此,我们应该仅从 app.js 使用 Cordova 插件。 下一个主题Cordova 插件相机 |
我们请求您订阅我们的新闻通讯以获取最新更新。