相关疑难解决方法(0)

声明与ES6样式模块合并

我想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

8
推荐指数
1
解决办法
1834
查看次数

标签 统计

typescript ×1