TypeScript - NodeJS 模块的类型注解
TypeScript - type annotation for NodeJS module
在我现在正在处理的 NodeJS 项目中,我们使用依赖注入,以及自定义编写的实例 类 我们过去常常传递 fs
、[=13= 等模块], http
和其他作为构造函数的参数。
现在我们想使用带有 DefinitelyTyped 库的 TypeScript 来支持 NodeJS 类型。对于 NodeJS 模块,我不清楚如何在 TypeScript 中描述模块的类型定义?
示例:
class ReportWriter {
private fs: ???;
constructor (fs: ???) { //what should I use instead of ???
this.fs = fs;
}
}
我可以创建一个类型别名(或者一个接口):
type NodeFsModule = {
readFile: Function,
readFileSync: Function
};
但这需要我描述大量的功能。还有其他选择吗?
只需将 import
与 typeof
一起使用:
import fs = require('fs');
class ReportWriter {
private fs: typeof fs;
constructor (fs: typeof fs) {
this.fs = fs;
}
}
更多信息:https://basarat.gitbooks.io/typescript/content/docs/project/declarationspaces.html
在我现在正在处理的 NodeJS 项目中,我们使用依赖注入,以及自定义编写的实例 类 我们过去常常传递 fs
、[=13= 等模块], http
和其他作为构造函数的参数。
现在我们想使用带有 DefinitelyTyped 库的 TypeScript 来支持 NodeJS 类型。对于 NodeJS 模块,我不清楚如何在 TypeScript 中描述模块的类型定义?
示例:
class ReportWriter {
private fs: ???;
constructor (fs: ???) { //what should I use instead of ???
this.fs = fs;
}
}
我可以创建一个类型别名(或者一个接口):
type NodeFsModule = {
readFile: Function,
readFileSync: Function
};
但这需要我描述大量的功能。还有其他选择吗?
只需将 import
与 typeof
一起使用:
import fs = require('fs');
class ReportWriter {
private fs: typeof fs;
constructor (fs: typeof fs) {
this.fs = fs;
}
}
更多信息:https://basarat.gitbooks.io/typescript/content/docs/project/declarationspaces.html