Node.js 如何在d.ts文件中声明的接口中使用TypeScript环境声明接口
我想在.ts文件中创建一个助手,如:Node.js 如何在d.ts文件中声明的接口中使用TypeScript环境声明接口,node.js,typescript,Node.js,Typescript,我想在.ts文件中创建一个助手,如: class ResponseHelper implements IResponseHelper {...} IResponseHelper是一个简单的.d.ts文件,具有 import * as mongoose from 'mongoose'; import * as express from 'express' interface IResponseHelper { toStandartResponse(response: mongoose.P
class ResponseHelper implements IResponseHelper {...}
IResponseHelper是一个简单的.d.ts文件,具有
import * as mongoose from 'mongoose';
import * as express from 'express'
interface IResponseHelper {
toStandartResponse(response: mongoose.Promise<any>, res: express.Response): mongoose.Promise<any>;
}
import*作为“猫鼬”中的猫鼬;
从“express”导入*作为express
接口IResponseHelper{
toStandartResponse(响应:mongoose.Promise,res:express.response):mongoose.Promise;
}
正如您所看到的,toStandartResponse中的参数来自于环境声明的mongoose。所以这很好,但如果我这样做了,我就不能使用“实现”,比如类ResponseHelper implements IResponseHelper,因为我得到了错误“在外部模块ResponseHelper中找不到符号IResponseHelper”,换句话说,编译器看不到d.ts文件。
如果我从d.ts中删除导入语句。文件everuthing还可以,但我无法指定响应类型
有什么方法可以同时使用它吗?我相信,当您在中使用
导入时,会使文件成为一个模块,因此您必须导出您想要的任何成员:
export interface IResponseHelper { }
现在,您可以从其他文件导入它:
import {IResponseHelper} from "./IResponseHelper";
class ResponseHelper implements IResponseHelper { }
我相信当您在中使用import
时,会使文件成为一个模块,因此您必须export
任何您想要可见的成员:
export interface IResponseHelper { }
现在,您可以从其他文件导入它:
import {IResponseHelper} from "./IResponseHelper";
class ResponseHelper implements IResponseHelper { }
我会试试这个,但这很奇怪,因为.d.ts是定义文件,没有生成代码。那么在这种情况下javascript的输出是什么呢。它应该会导致错误,模块不存在或smthng。我将尝试此操作,但它很奇怪,因为.d.ts是定义文件,并且没有生成的代码。那么在这种情况下javascript的输出是什么呢。这将导致模块不存在或出现错误。