我目前正在处理一个迷你react项目,遇到了一些与"firebase">模块相关的错误。
当我尝试导入firebase模块时,我得到以下错误:
找不到模块:无法解析"C:项目名称\node_modules\re-base\dist"中的"firebase/app">
以下是我的项目的依赖项:
"dependencies": {
"firebase": "^5.5.1",
"prop-types": "^15.6.2",
"re-base": "^4.0.0",
"react": "^16.5.2",
"react-dom": "^16.5.2",
"react-router-dom": "^4.3.1",
"react-scripts": "1.1.5",
"react-transition-group": "^2.5.0"
},
这是firebase配置文件(./utils/firebase.js
(:
import Rebase from 're-base';
import * as firebase from '@firebase/app';
import '@firebase/database';
import firebaseConfig from '../constants/database';
const firebaseApp = firebase.initializeApp( firebaseConfig );
const base = Rebase.createClass(firebase.database());
export { firebaseApp };
export default base;
然后,当我尝试将firebaseApp导入应用程序组件时,我会收到此错误。
import React, { Component } from 'react';
import './App.css';
import Form from './components/Form';
import Message from './components/Message';
// Firebase
import firebaseAppfrom './utils/firebase';
class App extends Component {
constructor(props) {
super(props);
this.state = {
messages: {}
}
}
componentDidMount() {
base.syncState('/', {
context: this,
state: 'messages'
});
}
}
提前感谢您的帮助。
您在这里使用了一些非常古老的东西。我强烈建议按照文档中的说明使用模块绑定器添加Firebase。
您的依赖关系应该是:
"firebase": "8.0.2",
或者是最新的版本。你现在拥有的那个已经很旧了。
你的进口应该是:
import firebase from "firebase/app";
import "firebase/database";
不要在模块名称中使用@
。