Как расширить тип экспресс-запроса в проекте ts-node?

Я пробовал это, это и т. д.

// ./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?

Версии: [email protected] [email protected]


person BrunoLM    schedule 13.12.2018    source источник
comment
Где вы это определили?   -  person zedryas    schedule 13.12.2018
comment
./typings/express/index.d.ts, пробовал и с typeRoots и без   -  person BrunoLM    schedule 13.12.2018


Ответы (1)


Единственным обходным решением, которое сработало для меня, было включение флага файлов

ts-node --files index.ts

и для мокко

TS_NODE_FILES=true mocha
person 3mard    schedule 15.12.2018