我正在使用firebase auth
包为我的ReactJS应用创建登录页面。
我已将auth
程序包导入了我的全局firebase文件:
import firebase from 'firebase/app';
import 'firebase/firestore';
import 'firebase/auth';
const config = {
apiKey: "xxx",
authDomain: "xxx",
databaseURL: "xxx",
projectId: "xxx",
storageBucket: "xxx",
messagingSenderId: "xxx"
};
export default firebase.initializeApp(config);
现在在我的LoginComponent
中,我需要访问FacebookAuthProvider
名称空间中的类firebase.auth
。
为了访问此类,我导入了auth
名称空间。
import React, { Component } from 'react';
import { auth } from 'firebase';
class Login extends Component {
provider = new auth.FacebookAuthProvider();
由于最后一次导入,我在控制台中收到以下警告:
It looks like you're using the development build of the Firebase JS SDK.
When deploying Firebase apps to production, it is advisable to only import
the individual SDK components you intend to use.
For the module builds, these are available in the following manner
(replace <PACKAGE> with the name of a component - i.e. auth, database, etc):
CommonJS Modules:
const firebase = require('firebase/app');
require('firebase/<PACKAGE>');
ES Modules:
import firebase from 'firebase/app';
import 'firebase/<PACKAGE>';
经过大量的文档和代码后,我仍然无法弄清如何在访问FacebookAuthProvider
类的同时消除此警告。
第二个问题:目前我是否正在使用完整的firebase开发SDK?我只导入了auth
名称空间,对吗?
答案 0 :(得分:2)
您的登录组件正在导入完整的Firebase SDK,这就是导致该警告的原因。您将只需要导入所需的零件。如果已加载相同的文件,则捆绑程序或浏览器将重复数据删除。
更改此:
import React, { Component } from 'react';
import { auth } from 'firebase';
对此:
import React, { Component } from 'react';
import firebase from 'firebase/app';
import 'firebase/auth';