导入不适用于 Firebase Client v9 (npm)
Imports not working on Firebase Client v9 (npm)
上下文:
我终于主动将我的应用程序中的 Firebase 库从 9.0.2 兼容版调整为新的模块化、可摇树优化库。我在 Windows 10,使用 WebStorm,我的 package.json 只有依赖项 { "firebase": "^9.0.2" }
.
什么应该有效:
当我尝试导入 initializeApp
时,如文档中所示:
import { initializeApp } from 'firebase/app';
const firebaseApp = initializeApp({ /* config */ });
我收到错误 Cannot resolve symbol 'initializeApp'
。
尝试修复:
我正在一个简单的 Vue.js 项目中测试这个新的 Firebase 库,只配置了 ESLint 和 Babel。我尝试删除 node_modules
文件夹,清除 chace,从 npm 重新安装所有内容,但似乎没有任何东西可以使标准导入工作。
当前解决方法:
我查看了 node_modules/firebase
,果然,所有标准函数都在 javascript 文件中,例如 firebase-app.js
和 firebase-auth.js
。这意味着我可以按如下方式导入所有内容:
import { initializeApp } from 'firebase/firebase-app';
const firebaseApp = initializeApp({ /* config */ });
但我确信这不正常,也不是预期的,因为我似乎是唯一报告过此行为的人。我在这里错过了什么?
更新: 正如@Dharmaraj 所说,在 VS Code 中配置同一个项目时不会发生此错误,因此这似乎是 WebStorm 问题。
所以这确实是 WebStorm 的问题。正如@LazyOne 指出的那样,我们可以找到有关 Cannot resolve symbol ...
问题 here and here 的解决方案,涉及 WebStorm 和 PhpStorm。
TL;DR: 您所要做的就是:打开 node_modules
,右键单击模块(文件夹)@firebase
和 select Mark as not excluded
.
这意味着您的 IDE 现在将为这些文件编制索引,并且现在可以从 @firebase
中的文件导入函数,因为它们可以被程序识别。
感谢所有参与的人!
上下文:
我终于主动将我的应用程序中的 Firebase 库从 9.0.2 兼容版调整为新的模块化、可摇树优化库。我在 Windows 10,使用 WebStorm,我的 package.json 只有依赖项 { "firebase": "^9.0.2" }
.
什么应该有效:
当我尝试导入 initializeApp
时,如文档中所示:
import { initializeApp } from 'firebase/app';
const firebaseApp = initializeApp({ /* config */ });
我收到错误 Cannot resolve symbol 'initializeApp'
。
尝试修复:
我正在一个简单的 Vue.js 项目中测试这个新的 Firebase 库,只配置了 ESLint 和 Babel。我尝试删除 node_modules
文件夹,清除 chace,从 npm 重新安装所有内容,但似乎没有任何东西可以使标准导入工作。
当前解决方法:
我查看了 node_modules/firebase
,果然,所有标准函数都在 javascript 文件中,例如 firebase-app.js
和 firebase-auth.js
。这意味着我可以按如下方式导入所有内容:
import { initializeApp } from 'firebase/firebase-app';
const firebaseApp = initializeApp({ /* config */ });
但我确信这不正常,也不是预期的,因为我似乎是唯一报告过此行为的人。我在这里错过了什么?
更新: 正如@Dharmaraj 所说,在 VS Code 中配置同一个项目时不会发生此错误,因此这似乎是 WebStorm 问题。
所以这确实是 WebStorm 的问题。正如@LazyOne 指出的那样,我们可以找到有关 Cannot resolve symbol ...
问题 here and here 的解决方案,涉及 WebStorm 和 PhpStorm。
TL;DR: 您所要做的就是:打开 node_modules
,右键单击模块(文件夹)@firebase
和 select Mark as not excluded
.
这意味着您的 IDE 现在将为这些文件编制索引,并且现在可以从 @firebase
中的文件导入函数,因为它们可以被程序识别。
感谢所有参与的人!