Firebase 客户端v9(npm)上的导入不起作用。

4
背景:

我终于采用了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文件夹,清除缓存,从npm重新安装所有内容,但似乎没有什么可以使标准引入工作。 当前解决方法: 我查看了node_modules/firebase文件夹,发现所有标准函数都在里面,在javascript文件如firebase-app.jsfirebase-auth.js。这意味着我可以按照以下方式导入所有内容:
import { initializeApp } from 'firebase/firebase-app';
const firebaseApp = initializeApp({ /* config */ });

但我相信这不是正常的或预期的,因为似乎只有我报告了这种行为。我在这里缺少什么吗?

更新:如@Dharmaraj所说,在使用VS Code配置相同项目时,不会发生此错误,因此这似乎是WebStorm的问题。


你是否偶然使用Webstorm? - Dharmaraj
@Dharmaraj 是的,我是! - nickh
1
你尝试在VS Code中打开同一个项目了吗?我在那里没有收到这个警告,只有在使用JS项目时Webstorm才会显示这个警告。在TS中运行正常。 - Dharmaraj
1
我刚在一个空的VS Code项目上尝试了一下,确实可以。谢谢@Dharmaraj!我会在我的问题中添加WebStorm标签。 - nickh
1
请查看 https://dev59.com/AWkMtIcB2Jgan1znRA3U#69242763 和 https://youtrack.jetbrains.com/issue/WEB-52739#focus=Comments-27-5202170.0-0 / https://youtrack.jetbrains.com/issue/WEB-52727#focus=Comments-27-5199952.0-0。 - LazyOne
是的!就是这样,运行得非常好。我将在WebStorm中为任何遇到相同问题的人创建一个答案。非常感谢你,@LazyOne。 - nickh
1个回答

0

真的是一个WebStorm的问题。正如@LazyOne所指出的,我们可以在这里找到解决方案,针对WebStorm和PhpStorm中相关的“无法解析符号...”问题 herehere

简而言之:你需要做的就是:打开node_modules,右键单击模块(文件夹)@firebase并选择标记为未排除

这意味着你的IDE现在将索引这些文件,并且从@firebase内部文件导入函数现在是可能的,因为它们被程序识别。

感谢所有参与的人!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接