Что вызывает TypeError: Ожидается, что `input` будет проблемой` Function` или `Object` с gtoken и pify? - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь интегрировать 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)

Я буквально скопировал и вставил код из учебника Google, и я получилошибка.Я создал частную песочницу React на sandbox.io, и все работало отлично, поэтому я знаю, что у меня все настройки настроены на Firebase правильно, и это не проблема с аутентификацией.

Я пытался буквально удалить всекод и просто импорт пакета import { google } from 'googleapis';, и я получаю сообщение об ошибке, поэтому я в растерянности.

Я попытался удалить и переустановить пакет npm - без кубиков.

Я удалил пакет googleapis и установил google-auth-library, который он использует.Та же проблема.

Я удалил это и установил библиотеку gtoken.Та же проблема.

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 07 апреля 2019

Это связано с тем, что пакет gtoken npm (в зависимости от googleapis) использует NodeJS "fs" API для чтения сертификатов из файловой системы, а API "fs" недоступен в браузере.

вnode_modules / gtoken / build / src / index.js Строка 21

var readFile = pify(fs.readFile); // fs.readFile is undefined in a browser context

Предпочтительным пакетом для использования API Google в браузере является клиент JavaScript API Google вместо npm googleapis one.Смотри https://developers.google.com/api-client-library/javascript/start/start-js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...