上下文:
我终于主动将我的应用程序中的 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和 here ,关于 WebStorm 和 PhpStorm。
TL;博士:您所要做的就是:打开 node_modules
, 右键单击模块(文件夹)@firebase
并选择 Mark as not excluded
.
这意味着您的 IDE 现在将索引这些文件,并从 @firebase
中的文件导入函数。现在是可能的,因为它们被程序识别。
感谢所有参与的人!
关于javascript - 导入不适用于 Firebase Client v9 (npm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69320332/