如何为中间件编写TypeScript定义,将属性添加到响应中?

我想用TypeScript的快递来expression快感。 它缺乏types,所以我想写我自己的。 只是让它编译是微不足道的。

这个中间件装饰物业boomres物体(来自繁荣模块 ):

 var express = require('express'); var boom = require('express-boom'); var app = express(); app.use(boom()); app.use(function (req, res) { res.boom.notFound(); // Responsds with a 404 status code }); 

但与打字稿我需要把它,因为无论http.ServerResponseExpress.Response有兴旺的属性,当然:

 return (<any>res).boom.badRequest('bla bla bla'); 

最干净的方法是干什么? 哪些是其他types的中间件,正在做类似的事情?

还有其他一些Express中间件可以用作示例,例如方法覆盖 ,及其types定义 。

作为一个更具体的例子,如果你想把这个.boom属性添加到响应对象中,你只需要创build一个types定义(express-boom.d.ts),其中包含:

 declare namespace Express { interface Boom { // Add boom's properties in here } export interface Response { boom: Boom } } 
Interesting Posts