Visual Studio 找不到 Firebase 节点模块
Posted
技术标签:
【中文标题】Visual Studio 找不到 Firebase 节点模块【英文标题】:visual studio not finding firebase node module 【发布时间】:2015-07-04 02:01:10 【问题描述】:我从项目文件夹的根目录中使用了命令npm install firebase --save
,并且一个firebase 文件夹成功添加到我的node_modules 文件夹中,并且packages.json 也被更新了。
我也使用 typescript,所以我有一个 app.ts 文件,我尝试在其中执行 import Firebase = require("firebase");
但是它不起作用。我收到红色曲线和错误提示 cannot find external module "firebase"
。
我已经安装了 express 并在 app.ts 中导入它,效果很好,没有错误。
我试图查看 firebase 源,但它被缩小了,无法尝试在那里找到任何关于导出的内容等。
对可能出现的问题以及如何解决问题有任何想法吗?
【问题讨论】:
【参考方案1】:三件事:
您应该使用 NuGet、TSD 或其他方法从“绝对类型化”中下载 Firebase 类型定义。 Definite Typed 上的 Firebase 定义似乎不是以外部模块形式编写的。您可能需要在其底部添加export = Firebase;
行。
TypeScript 目前对描述用 javascript 编写的外部模块的定义文件 (d.ts) 有奇怪的默认行为;它将在每个目录中搜索从文件返回到当前驱动器根目录的每个目录,查找名称与您导入的内容名称匹配的 .ts
或 .d.ts
文件。所以最好的办法是将Firebase.d.ts
文件移动到项目的根目录。如果您有兴趣对此进行更多讨论,请查看https://github.com/Microsoft/TypeScript/issues/2338。他们正在努力。
如果你做了这三件事,它应该可以工作。
【讨论】:
谢谢!做到了。有点尴尬,我忘记了定义文件。但是第 2 点和第 3 点确实很有帮助。为了让它发挥作用,我实际上必须做更多的事情。我查看了 express.d.ts 的设置方式,它在顶层声明了一个与文件同名的模块,并在该模块的底部导出。当我使用 firebase.d.ts 执行此操作时,它开始工作。虽然这些文件的编辑不是最佳的.. 还是谢谢你。以上是关于Visual Studio 找不到 Firebase 节点模块的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code:找不到名称 angular?
microsoft visual studio 2008找不到一个或多个组件,请重新安装应用程序 的原因都有哪些?