如何在ts节点项目中扩展express请求类型?

时间:2018-12-13 16:11:17

标签: typescript ts-node

我尝试过thisthis

// ./typings/express/index.d.ts
declare namespace Express {
  export interface Request {
     token?: string
  }
}

用法示例:

import * as express from 'express'

(req: express.Request, res: express.Response, next: express.NextFunction) => {

  const foo = req.token

}

如果我直接进行编译(tsc -p .),它确实可以工作,并且可以在Visual Code中工作,但是当我尝试使用ts-node运行时,我总是得到:

  

错误TS2339:类型“请求”上不存在属性“令牌”。

有什么想法可以使其与ts-node一起使用吗?

版本:ts-node@7.0.1 typescript@3.0.1

1 个答案:

答案 0 :(得分:1)

对我而言唯一可行的解​​决方法是启用文件标志

ts-node --files index.ts

还有摩卡咖啡

TS_NODE_FILES=true mocha