Поддержка Node.js для Firestore не работает

Я использую Nuxt / Firestore в своем веб-приложении. Однако в firebase sdk возникла проблема, которая создавала проблему для firestore при использовании в Node. Проблема описана здесь - https://github.com/firebase/firebase-js-sdk/issues/221

Однако недавно вопрос был закрыт, однако я все еще сталкиваюсь с той же проблемой. Основная проблема - «Не удается найти модуль grpc» или «firestore не является функцией».

Я создал фиктивный проект, воспроизводящий эту проблему, который можно скачать здесь: https://github.com/msahajwani/nuxt-firestore

Чтобы воспроизвести проблему, выполните следующие действия:

  1. Загрузите репо и установите зависимости

  2. В папке ~ / api / создайте файл с именем config.js и добавьте в него свою конфигурацию firebase следующим образом:

let config = {apiKey: 'xxx', authDomain: 'xxx', databaseURL: 'xxx', projectId: 'xxx', storageBucket: 'xxx', messagingSenderId: 'xxx'}

  1. Запустите приложение с помощью npm run dev

  2. Вы заметите, что приложение загрузится правильно по адресу http://localhost:3000

  3. На домашней странице есть панель навигации со ссылкой на главную и верхнюю. Если вы нажмете ссылку «Сверху», она загрузится правильно. Это потому, что это был рендер на стороне клиента.

  4. Теперь попробуйте обновить или напрямую загрузить страницу http://localhost:3000/top в своем браузере. Это вызовет рендеринг на стороне сервера, и тогда вы увидите ошибки. Это проблема, с которой я боролся.

Любая помощь приветствуется.


person asanas    schedule 28.11.2017    source источник


Ответы (1)


Извините за путаницу. https://github.com/firebase/firebase-js-sdk/issues/221 был исправлен совсем недавно и будет включен в следующий выпуск Firebase. Вы можете следить за примечаниями к выпуску (https://firebase.google.com/support/release-notes/js), чтобы узнать, когда он погаснет (вероятно, в этот четверг).

person Michael Lehenbauer    schedule 28.11.2017
comment
Спасибо за разъяснение. С нетерпением жду следующего релиза :) - person asanas; 28.11.2017