使用Express()和TypeScript

Zol*_*vai 6 node.js express typescript

我想在TypeScript中使用最新版本的Expess和node.js. microsoft在样本中提供的express.d.ts似乎是建立在3.0.x之前的版本上.在以前的版本中你可以做到

var app = express.createServer()
Run Code Online (Sandbox Code Playgroud)

但是在3.0.x之后你应该这样做:

var app = express();
Run Code Online (Sandbox Code Playgroud)

Express.d.ts不支持这个...我发现了一个黑客:我在Express.d.ts中添加了以下行:

export function(): any;
Run Code Online (Sandbox Code Playgroud)

app.ts当我要创建应用程序对象我做到以下几点:

var app = <express.ExpressServer>express();
Run Code Online (Sandbox Code Playgroud)

这似乎解决了这个问题,它正在编译而没有错误,而且我得到了intellisense支持.然而,这是一个黑客...首先为什么我不能写这样的东西?

export function(): ExpressServer;
Run Code Online (Sandbox Code Playgroud)

这是解决此问题的推荐方法吗?

Wad*_*ler 9

相当古老的讨论,但我最近遇到了同样的问题,发现有一个新的express.d.ts,在DefinitelyTyped网站上正确支持express 3 .


jos*_*hls 2

您应该能够添加此环境函数声明以express.d.ts获得您想要的。

declare function express(): ExpressServer;