正确使用 firebase 和 @firebase npm 包

问题描述 投票:0回答:1

当我向 firebase >9.0.0 包添加依赖项时,

npm install
会同时下载 node_modules\ firebase 和 node_modules\ @firebase (没有提及)。

我知道 @firebase 是 scoped 包

我问是因为

  1. 似乎只有 Firebase (Google) 可以做到这一点,那么为什么要使用两个包呢?
  2. 人们是否应该参考@firebase,因为非官方版本在某些时候会被删除?
  3. 代码库看起来很相似,所以有很多重复的代码。
  4. 更新可以破坏导入并更改功能,这意味着现在是否带有@,以及如何知道这一点,例如:

import { firebaseApp } from "firebase";

import { getMessaging } from "@firebase/messaging";

import { initializeApp } from "firebase/app";

reactjs npm npm-install
1个回答
0
投票

来自 npm firebase/v/9.18.0

版本9提供了一组API兼容的compat包 与版本 8. 它们旨在用于升级到 通过允许您升级您的应用程序,模块化 API 变得更容易 一块。

npm 中的“compat”包是指库或框架提供的兼容性包,用于帮助从旧版本迁移或过渡到新版本。

这些兼容性包的目标是让现有项目使用旧版本(版本 8)Firebase 构建的开发人员能够更顺利地过渡。开发人员可以选择使用兼容性包,而不需要立即彻底修改代码库以适应新的模块化 API。这些包提供了一个桥梁或兼容层,允许为版本 8 编写的现有代码无需进行重大修改即可与新版本 9 一起使用。

在上面的 npm 链接中有这样的用法:

// v9 compat packages are API compatible with v8 code
import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';

通过使用这些兼容性包,开发人员可以逐步迁移其代码库以使用 Firebase 版本 9 提供的新模块化 API。它允许他们继续使用熟悉的版本 8 API 语法,同时致力于将代码库的特定部分迁移到模块化结构按照自己的节奏。

© www.soinside.com 2019 - 2024. All rights reserved.