cri*_*ari 9 firebase typescript firebase-realtime-database create-react-app google-cloud-firestore
我想将我一月份从事的 React 项目更改为使用 Typescript。我安装了所有类型和软件包,唯一给我带来问题的文件是该firebase文件。
这就是我当时使用的东西js。
import firebase from "firebase";
import "firebase/storage";
import "firebase/auth";
import "firebase/firestore";
import dotenv from "dotenv";
dotenv.config();
const firebaseConfig = {
apiKey: process.env.API_KEY,
authDomain: process.env.AUTH_DOMAIN,
projectId: process.env.PROJECT_ID,
storageBucket: process.env.STORAGE_BUCKET,
messagingSenderId: process.env.MESSAGING_SENDER_ID,
appId: process.env.APP_ID,
measurementId: process.env.MEASUREMENT_ID,
};
const app =
firebase.apps.length > 0
? firebase.app()
: firebase.initializeApp(firebaseConfig);
const auth = app.auth();
const db = app.firestore();
const storage = app.storage();
const timestamp = firebase.firestore.FieldValue.serverTimestamp();
const EmailProvider = new firebase.auth.EmailAuthProvider();
const _ = {
auth,
db,
storage,
timestamp,
EmailProvider,
};
export default _;
Run Code Online (Sandbox Code Playgroud)
当我更改为打字稿时,当我将鼠标悬停import firebase from "firebase";在 vscode 中的行上时,我收到此错误。
Cannot find module 'firebase' or its corresponding type declarations.
Run Code Online (Sandbox Code Playgroud)
这是我的 package.json ,我使用yarn:
Cannot find module 'firebase' or its corresponding type declarations.
Run Code Online (Sandbox Code Playgroud)
tho*_*que 24
这是因为默认导入来自firebase/app而不是firebase
祝你今天过得愉快 :)
编辑:没有看到您使用的是 SDK 的 V9。在这个版本中,firebase 的初始化和所有逻辑都不相同。按照本指南更新您的代码https://firebase.google.com/docs/web/modular-upgrade
"firebase": "^9.0.0",
// ...
"@types/firebase": "^3.2.1",
Run Code Online (Sandbox Code Playgroud)
您可能会注意到这些是非常不同的版本号。这是因为 firebase 带有内置类型,因此不再需要 @types/firebase 包,并且已经 4 年没有更新了。"@types/firebase": "^3.2.1",从 package.json 中删除并重新运行yarn
| 归档时间: |
|
| 查看次数: |
14365 次 |
| 最近记录: |