无论如何从多个文件导入时为什么都要重新初始化Firebase?

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

我知道我们可以使用firebase.apps.length来检查Firebase是否已启动。

例如:

import firebase from 'firebase';

if (!firebase.apps.length) {
   firebase.initializeApp({});
}

export default firebase;

https://github.com/zeit/next.js/issues/1999

但是,我在StackOverflow上读到另一个问题,如果我们多次导入同一文件,它只会运行一次(Does ES6 module importing execute the code inside the imported file?

所以问题是为什么Firebase会那样表现?我的意思是,如果这篇文章是正确的:Does ES6 module importing execute the code inside the imported file?,那么我们不需要首先检查firebase.apps.length,因为无论导入多少次它都只会运行一次

javascript node.js firebase
1个回答
0
投票

您不必使用该代码来检查Firebase是否已初始化。大多数时候,人们只在已知的位置进行一次初始化,然后从那时起就假定它将稍后可用。

如果您处于某些代码可能重复运行的情况下(例如函数调用),那么您可能需要执行此检查如果您要懒惰地初始化Firebase

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