如何使用ES6语法将Firebase Firestore导入到create-react-app项目中

时间:2018-02-25 20:40:27

标签: reactjs firebase ecmascript-6 create-react-app es6-modules

我无法让Firebase Firestore与基本的create-react-app样板一起使用。有人有工作样品吗?

Get Started doc仅解释了如何使用require语句进行设置,而我希望使用ES6导入。

const firebase = require("firebase");
// Required for side-effects
require("firebase/firestore");

ES6相当于require('firebase/firestore')

4 个答案:

答案 0 :(得分:5)

这对我有用:

import firebase from 'firebase/app';
import 'firebase/auth';
import 'firebase/datastore';

来自https://github.com/firebase/reactfire#using-the-firebase-js-sdk-in-react

答案 1 :(得分:2)

我的麻烦是我试图使用ES6语法。 Firebase文档说通过以下方式访问它:

const firebase = require('firebase');
require('firebase/firestore');

我想做这样的事情:

import * as Firebase from 'firebase';
import Firestore from 'firebase/firestore';

这似乎不起作用,但确实如此:

import * as Firebase from 'firebase';
require('firebase/firestore');

我不喜欢混合importrequire,但现在还不错。

答案 2 :(得分:2)

两个月后,这对我有用:

import * as firebase from 'firebase';
import '@firebase/firestore';

(它也适用于没有' @'。)

这是我的package.json中的依赖项部分:

{
    ...
    "dependencies": {
        "@firebase/app": "^0.2.0",
        "@firebase/firestore": "^0.4.1",
        "firebase": "^4.13.1",
        "react": "^16.3.2",
        "react-dom": "^16.3.2",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2",
        "react-scripts": "1.1.4"
    },
    ...
}

我开始关注instructions on npmjs.com for the firebase package。在其依赖项中,我找到了@firebase/firestore,并尝试按照这些说明进行操作:

import firebase from '@firebase/app';
import '@firebase/firestore'

但是,这种导入firebase的方法对我没用 - 我能够初始化我的应用程序,但是尝试执行firebase.auth().signInWithPopup(provider)会导致错误:

  

TypeError: WEBPACK_IMPORTED_MODULE_0__firebase_app .default.auth是   不是一个功能

答案 3 :(得分:0)

这对我有用。

确保已安装npm install --save firebase

导入“ firebase / firestore”;