GatsbyJS + Firebase: initializeApp не является функцией - PullRequest
0 голосов
/ 03 ноября 2018

Я полностью застрял.

Иметь настройки GatsbyJS 1 с gatsby-next и React 16 + последняя версия Firebase 5.5.7

В режиме разработки все работает нормально, но когда я пытаюсь сделать сборку, я всегда получаю WebpackError: _firebase2.default.initializeApp is not a function

Я уже пробовал все следующие виды при импорте, и все они приводят к этой ошибке: import firebase from 'firebase'; // const firebase = require('firebase/app') // import * as firebase from 'firebase'; var config = { ... }; firebase.initializeApp(config);

Я попытался обновить до последних версий всех библиотек. Единственное, что я не могу сейчас обновить из-за большого количества миграций, это GatsbyJS 2.0

Вот мой package.json: "dependencies": { "@material-ui/core": "^3.2.2", "@material-ui/icons": "^3.0.1", "aws-sdk": "^2.345.0", "cookieconsent": "^3.0.6", "firebase": "^5.5.7", "firebaseui": "^3.4.1", "fsevents": "^1.2.4", "gatsby": "^1.9.279", "gatsby-link": "^1.6.46", "gatsby-plugin-google-analytics": "^1.0.20", "gatsby-plugin-i18n": "^0.4.1", "gatsby-plugin-react-helmet": "^1.0.8", "gatsby-plugin-react-next": "^1.0.11", "material-ui-chip-input": "^1.0.0-beta.8", "paypal-checkout": "^4.0.228", "react": "^16.5.2", "react-dom": "^16.5.2", "react-firebaseui": "^3.1.2", "react-intl": "^2.4.0", "reactstrap": "^6.5.0" },

Некоторое время проект работал нормально на некоторых старых версиях библиотек.

1 Ответ

0 голосов
/ 03 ноября 2018

Короче говоря, Firebase теперь включает в себя Fetch polyfill, который ссылается на self внутри, поэтому он не работает с gatsby.

Обходной путь может заключаться в том, чтобы не загружать firebase с помощью null-loader, но тогда вы не можете ссылаться на что-либо связанное с firebase во время сборки, включая свойства для провайдеров аутентификации

Похоже, что проблема ограничена Gatsby v1 с Firebase 5.0. +

Откат к более старой версии Firebase невозможен из-за проблемы с конфликтами версий pre-gyp и узла.

Опубликовал ошибку: https://github.com/gatsbyjs/gatsby/issues/9681

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