我正在为现有节点库编写一个打字稿定义文件,该文件使用像http
和events.EventEmitter
这样的构建节点模块作为参数,
我的问题是如何为此库编写定义文件的?我试图将这些模块从node.d.ts复制到我自己的定义文件中,但我认为这不是一个好主意。
答案 0 :(得分:5)
您的模块应该在node.d.ts
文件中包含它自己的.d.ts
文件(让我们称之为my_awesome_lib.d.ts
)
在.d.ts
文件中,您可以包含以下必要类型:
declare module 'my_awesome_lib' {
import * as express from 'express'; // just as example
import { EventEmitter } from 'events'; // here you go
export function foo(EventEmitter e): boolean; // your function
}
答案 1 :(得分:2)
使用带有typings.json
文件的Typings工具来管理TypeScript定义依赖项。
查看该项目的FAQ
首先创建一个新的
typings.json
文件,然后添加依赖项 正常。当您在本地和您的包一起发布到GitHub时 (NPM或Bower)甚至到您自己的网站,其他人都可以参考 它并使用它。{ "name": "typings", "main": "path/to/definition.d.ts", "author": "Blake Embrey <hello@blakeembrey.com>", "description": "The TypeScript definition dependency manager", "dependencies": {} }
- main 定义的入口点(规范为&#34; main&#34;在NPM&#39; package.json中)
- 浏览器要覆盖的路径的字符串或映射 解析(遵循浏览器字段规范)
- 环境表示此定义必须安装为环境
- 名称此定义的名称
- postmessage 安装后向用户发出的消息
- 版本此定义的键入范围为
- 依赖项需要安装的依赖项地图
- devDependencies 需要安装的开发依赖项地图
- ambientDependencies 可能需要安装的环境依赖关系的地图
- ambientDevDependencies 可能需要安装的环境开发依赖关系的地图