是什么引起TypeError:预期输入是gtoken和pify的Function或Object问题?

kai*_*s90 6 javascript google-api cordova reactjs firebase-remote-config

我正在尝试将Firebase Remote Config集成到我的Cordova应用程序中,以强迫用户更新(如果他们具有最低版本),但是导入软件包会导致错误。它不能出现在代码中,因为仅通过导入包就在代码运行之前引发了错误。

TypeError: Expected `input` to be a `Function` or `Object`, got `undefined`
    at ./node_modules/gtoken/node_modules/pify/index.js.module.exports (index.js:45)
    at Object../node_modules/gtoken/build/src/index.js (index.js:22)
Run Code Online (Sandbox Code Playgroud)

我从字面上复制并粘贴了Google教程中的代码,但出现错误。我在sandbox.io上创建了一个私有的React沙箱,并且一切运行正常,所以我知道我已经在Firebase上正确设置了所有配置,这与身份验证无关。

我试图从字面上删除所有代码,而只是导入包import { google } from 'googleapis';,但我得到了错误,所以我很茫然。

我尝试卸载并重新安装npm软件包-没有骰子。

我卸载了该googleapis软件包并安装了该软件包google-auth-library。同样的问题。

我卸载了它并安装了gtoken库。同样的问题。

有人有想法么?

sgi*_*eno 1

这是因为 gtoken npm 包(googleapis 的依赖)正在使用 NodeJS“fs”API 从文件系统读取证书,而“fs”API 在浏览器中不可用。

在node_modules/gtoken/build/src/index.js第21行

var readFile = pify(fs.readFile); // fs.readFile is undefined in a browser context
Run Code Online (Sandbox Code Playgroud)

在浏览器中使用 Google API 的首选软件包是 Google APIs Javascript Client,而不是 npm googleapis 之一。请参阅https://developers.google.com/api-client-library/javascript/start/start-js