如何在 React JS 页面中使用 Cordova 插件

Lat*_*fah 4 cordova reactjs cordova-plugins

我想在我的 react JS 应用程序中使用一些 Cordova 插件,但该应用程序一直失败。我知道cordova 仅在运行时可用,因为我需要一种解决方法。

我的应用程序是通过 create react app with cordova here创建的

比如我想导入cordova-plugin-device来获取设备uuid,代码如下:

import React,  {Component} from 'react';
...    
var device = require("cordova-plugin-device");

class Login extends Component {
    handleSubmit = () => {
        const { phone, password } = this.state

        let params = {
            phonenumber: phone,
            password: password,
            deviceID:  device ? device.uuid : "test"

        }
        ...
   }
   render () {
       ...
   }

 }
}
Run Code Online (Sandbox Code Playgroud)

我在npm start运行时遇到错误npm build。这是错误Module not found: Can't resolve 'cordova-plugin-device' in 'C:\projects\

任何有关如何实现这一点的指针将不胜感激。

Lat*_*fah 6

我想出了如何解决我的问题。COrdova 在运行时可用,所以我使用 window.cordovaPulgin 来访问它。

例如,我需要一个调用其方法的支付插件服务,如下所示:

PaymentPlugin.pay(payRequest, paySuccess, payFail);

我的问题是我的代码npm start && npm run build失败了,因为它找不到PaymentPlugin,所以为了使它工作,经过广泛的研究,意识到如果插件安装正确,我将能够像这样使用它

window.PaymentPlugin.pay(payRequest, paySuccess, payFail);