我已将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'
答案 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