【问题标题】:Using Nodejs with Typescript将 Nodejs 与 Typescript 一起使用
【发布时间】:2012-12-14 12:58:06
【问题描述】:

我想在我的 typescript 项目中使用 Nodejs,并从 https://github.com/borisyankov/DefinitelyTyped/tree/master/node 下载了 node.d.ts

但是 VisualStudio 在 .d.ts 文件中发现了很多错误。它们都基本相同:

错误 2 导出接口“服务器”从私有扩展接口 模块“事件” C:\Users\lhk\Desktop\typescript-game\strategy 去\node\node-0.8.d.ts 236 37 node-0.8.d.ts

所有错误消息都抱怨私有接口被扩展。

我搜索了一下,发现了这个问题: nodejs require inside TypeScript file

其中一个 cmets 建议从 Microsoft 示例中下载 node.d.ts。我浏览了互联网,找到了这篇文章 http://stackful.io/blog/typescript-nodejs-vim-and-linux-oh-my/ 并下载了第二版 node.d.ts ,结果完全相同。

在哪里可以找到适合 nodejs 和 Typescript 的定义文件?

【问题讨论】:

    标签: javascript node.js web webserver typescript


    【解决方案1】:

    对于 0.8.1-1 版本的 TypeScript,请使用此 github 项目中最新的 node.d.ts 文件: https://github.com/soywiz/typescript-node-definitions

    在我从那里提取最新的定义文件之前,我遇到了相同的 exported interface 错误。

    【讨论】:

    • 太棒了,这行得通。我比较了两个 .d.ts 文件,发现了一个奇怪的区别。在模块部分,每当导入另一个模块时,旧版本使用“import something=module("something")”,但新版本将其更改为“export import something=module("something")”。如果该模块已导出,为什么扩展私有模块的接口突然变得合法?整个结构对我来说没有意义。例如,为什么模块 http “导出导入”模块事件?我现在可以做类似 http.events.SomethingfromEvents 的事情了吗?
    • github 项目很棒,它解决了我的另一个问题。如果您将此答案复制到stackoverflow.com/questions/14084406/typescript-and-socket-io,我很乐意接受它
    • @lhk 我没有详细了解它为什么起作用,我只是很高兴它起作用了。我查看了您的另一个问题,但该问题表明您已经在使用来自 soywiz 项目的 socket.io.d.ts 文件,所以我很困惑为什么您希望我将这个答案复制到那里。
    • 你说得对,我弄混了一些东西。在我发布了这个问题之后,我意识到这个错误也发生在 socket.io.d.ts 文件中。然后我切换到新的 node.d.ts 版本,socket.io.d.ts 中的错误消失了。由于我已经解决了socket.io客户端的问题,这里的错误是socket.io唯一剩下的错误。对不起,我现在将发布我对 socket.io 问题的解决方案
    【解决方案2】:

    我不完全确定这里到底发生了什么。

    我怀疑 Typescript 的 (0.8.1~1) node.js 包的当前版本破坏了一些东西。我也遇到过这个。我调整了 node.d.ts 文件并标记了几件事“导出”而不是“声明”,这让我克服了编译问题,但我发现这些函数没有出现在当前范围内。

    FWIW,我一直在玩 typescript-require 和 typescript-wrapper 的个人分支(两者都需要一些调整才能与 0.8.1~1 一起使用),我不太确定一切都是工作正常,所以我不确定问题是我的问题还是当前节点/打字稿特有的问题。

    【讨论】:

      猜你喜欢
      • 2018-02-22
      • 1970-01-01
      • 2017-02-19
      • 2019-06-06
      • 2015-03-09
      • 2016-08-24
      • 2021-01-20
      • 2012-09-24
      • 1970-01-01
      相关资源
      最近更新 更多