警告:您似乎正在使用Firebase JS SDK

时间:2018-06-05 19:00:55

标签: reactjs firebase

我已将Firebase集成到我的React.js应用中: https://firebase.google.com/docs/database/web/start

  

fire.js:

import firebase from 'firebase'

var config = {
  apiKey: "####",
  authDomain: "#",
  databaseURL: "#",
  projectId: "#",
  storageBucket: "#",
  messagingSenderId: "#"
};
var fire = firebase.initializeApp(config);
export default fire;
  

App.js:

import fire from './fire';

class App extends Component {
    componentWillMount(){
        let messagesRef = fire.database().ref('messages').orderByKey().limitToLast(100);
    }
}

但是现在我在控制台中收到了这个警告:

  

您似乎正在使用Firebase JS的开发版本   SDK。将Firebase应用程序部署到生产环境时,建议您这样做   仅导入您打算使用的各个SDK组件。

     

对于模块构建,可以通过以下方式获得这些构建   (替换为组件的名称 - 即auth,数据库,   等):

     

CommonJS Modules:const firebase = require(' firebase / app');   要求('火力/&#39);

     

ES模块:从' firebase / app'导入firebase;   import' firebase /';

如何修复此警告?

我试过(在fire.js中)改变了这个:

import firebase from 'firebase'

对此:

import firebase from 'firebase/app'

导致此错误: enter image description here

3 个答案:

答案 0 :(得分:27)

导入firebase的正确方法是:

import firebase from 'firebase/app';
import 'firebase/database'; // If using Firebase database
import 'firebase/storage';  // If using Firebase storage

答案 1 :(得分:8)

警告信息量很大,并准确列出了您需要做的事情。在您的情况下,这是告诉您切换导入文件的方式的行:

  

ES模块:从'firebase / app'导入firebase; import'firebase /';

fire.js文件中尝试更改此内容:

import firebase from 'firebase'

对此:

import firebase from 'firebase/app'

那应该清除它!

旁注:

在我的情况下,我使用的是firestore所以我还有一个额外的导入,我也改变了:

import firestore from 'firebase/firestore'

要:

import 'firebase/firestore'

答案 2 :(得分:4)

导入Firebase并消除警告的正确方法是:

始终以这种方式导入

import firebase from 'firebase/app';

然后根据需要导入每个子模块(每个Firebase服务)

import 'firebase/auth';        // for authentication
import 'firebase/storage';     // for storage
import 'firebase/database';    // for realtime database
import 'firebase/firestore';   // for cloud firestore
import 'firebase/messaging';   // for cloud messaging
import 'firebase/functions';   // for cloud functions