如何避免Firebase警告我正在使用开发版本?

时间:2018-08-09 14:14:09

标签: typescript firebase firebase-authentication es6-modules

我正在使用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名称空间,对吗?

1 个答案:

答案 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';