如何在 phonegap 应用程序中要求插件

How to require a plugin in a phonegap app

我正在尝试使 this example of phonegap barcode scanner 插件正常工作。我已经替换了 www 文件夹中的所有文件,并且我还使用 CLI 命令

安装了插件
phonegap plugin add phonegap-plugin-barcodescanner

但是按下扫描按钮,只有 index.js 第 55 行的 console.log('scanning') 命令有效。我的问题是:

  1. index.js第57行要求中的cordova是否指向项目根目录(因为我没有这样的文件夹)?

    var scanner = cordova.require("cordova/plugin/BarcodeScanner");

  2. barcodescanner.js 文件是否自动发送(因为它不是示例回购,我可以在插件目录中看到它)?

  3. 通过 CLI 安装后,行

    <gap:plugin name="com.phonegap.plugins.barcodescanner"/>

不在 config.xml 中。我需要手动添加吗?

您可以通过以下方式安装插件:

1 - 在您的 g运行tFile 插件列表中添加“phonegap-plugin-barcodescanner

2 - cd phonegap 目录和 运行“sudo phonegap 插件添加 phonegap-plugin-barcodescanner”。

之后你应该可以使用 cordova.plugins.barcodeScanner.scan(success, failure);

在这种情况下,您无需手动更改任何内容,这将自动完成。

希望对您有所帮助!

干杯,

我不知道这个例子是否正常工作,因为存储库中没有提供完整项目的所有文件。我更愿意提供更多细节,以完全涵盖这个问题。

让我们检查一下安装插件需要注意的几点:

  1. 安装插件前添加平台
  2. 提供使用 CLI 安装插件
  3. 插件通常只能在真实设备上作为已安装的应用程序使用,而不是在您的浏览器或 Phonegap 扫描仪中使用。
  4. 你不需要在 config.xml 中添加任何代码行,cordova 会在 platforms/{os} 文件夹中的配置中添加 (第 3 个问题).

有些插件不需要任何进一步的手动文件传输和 linking 脚本到 HTML 页面,但有些插件需要。 barcodeScanner 是需要的人之一:

  1. 不要link barcodescanner.jsindex.html文件Cordova会自动完成(第1题).

  2. 每个插件都有一个 plugin.xml 文件。通过它查看,有 js-module 元素至少有一个 clobbers 元素。这个元素有一个 target 属性,它指示全局可用的全局模块。在这种情况下,通过生成调试 apk 或 api 文件 .

    检查 cordova.plugins.barcodeScanner 是否可用
  3. 通常您不需要在自己的代码中提出要求,因为构建过程会将插件包装在cordova.require闭包中。关于这个插件,只需使用:

    cordova.plugins.barcodeScanner.scan(function (result) {}, function (error) {});