我正在使用webpack来编译preact / firestore应用程序,而firebase整体上贡献了1.7 MB到我编译的bundle的大小。我试图减少这个数字。
实时数据库和存储一起为捆绑包大小贡献了大约750 kb。因为我根本没有使用实时数据库和存储,所以我想将它们从捆绑包中排除。我怀疑,但不确定,如果我不再打电话
import firebase from 'firebase';
require("firebase/firestore");
而是对
的影响做了些什么import auth from 'firebase/auth';
require("firebase/firestore");
这将从我的包中删除不需要的子模块。但是,我现在无法摆脱我的firebase导入,因为我正在调用
firebase.initializeApp(config);
根据文档。我可以在不调用firebase.initializeApp的情况下初始化firestore吗?
答案 0 :(得分:2)
Firebase的web setup page会告诉您哪些是可选的和必需的:
您只需添加以下内容即可减少应用使用的代码量 你需要的功能。可单独安装的组件是:
- firebase-app - 核心firebase客户端(必需)。
- firebase-auth - Firebase身份验证(可选)。
- firebase-database - Firebase实时数据库(可选)。
- firebase-firestore - Cloud Firestore(可选)。
- firebase-storage - 云存储(可选)。
- firebase-messaging - Firebase云消息传递(可选)。
无论您打算使用哪个Firebase部分,都需要调用initializeApp()。该调用表明正在使用哪个项目。
答案 1 :(得分:0)
documentation on adding Firebase to your app的最后一个示例显示了如何执行此操作:
var firebase = require("firebase/app");
require("firebase/auth");
require("firebase/firestore");
var config = {
// ...
};
firebase.initializeApp(config);
正如道格所说,总是需要initializeApp(...)
。