我想id在Express的Request界面中添加一个属性.Express具有DefinitelyTyped类型定义.我已经尝试过各种方式指定合并接口,所有这些都会导致错误或无法正常工作.
我正在使用ES6样式模块导入访问Express的打字: import * as express from 'express';
我已经尝试与命名空间中的Request对象合并Express.
declare module Express {
export interface Request {
id: number;
}
}
Run Code Online (Sandbox Code Playgroud)
这无声无息.我尝试使用实际模块而不是命名空间进行合并,遵循我正在使用的新1.8编译器的说明:
import { Request } from 'express';
declare module 'express' {
interface Request {
id: number;
}
}
Run Code Online (Sandbox Code Playgroud)
这个错误是因为 Module augmentation cannot introduce new names in the top level scope.
当我打开实际express.d.ts文件时,看起来有一个module e { ... }包含所有接口的内部,declare module "express" { ... }其中包含一行export = e; …
typescript ×1