代码之家  ›  专栏  ›  技术社区  ›  BrunoLM

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

  •  1
  • BrunoLM  · 技术社区  · 6 年前

    我试过了 this this

    // ./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 . ts-node 我总是得到:

    错误TS2339:类型“Request”上不存在属性“token”。

    知道如何使用ts节点吗?

    ts-node@7.0.1 typescript@3.0.1

    1 回复  |  直到 6 年前
        1
  •  2
  •   3mard    6 年前

    唯一对我有效的解决方法是启用文件标志

    ts-node --files index.ts
    

    还有摩卡咖啡

    TS_NODE_FILES=true mocha
    
    推荐文章