如何编写依赖于其他定义文件的typescript定义文件

如何编写依赖于其他定义文件的typescript定义文件,typescript,Typescript,我正在为一个现有的节点库编写一个typescript定义文件,它使用buildin节点模块,如http和events.EventEmitter作为参数, 我的问题是如何为这个库编写定义文件?我试图将这些模块从node.d.ts复制到我自己的定义文件中,但我认为这不是一个好主意。使用带有Typings.json文件的Typings工具来管理TypeScript定义依赖项 看那个项目的 首先创建一个新的typings.json文件,然后将依赖项添加为 正常。当您在本地发布到GitHub时,与包一起发

我正在为一个现有的节点库编写一个typescript定义文件,它使用buildin节点模块,如
http
events.EventEmitter
作为参数,
我的问题是如何为这个库编写定义文件?我试图将这些模块从node.d.ts复制到我自己的定义文件中,但我认为这不是一个好主意。

使用带有
Typings.json
文件的Typings工具来管理TypeScript定义依赖项

看那个项目的

首先创建一个新的
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”:“path/to/definition.d.ts”,
“作者”:“布莱克·恩布雷”,
“说明”:“类型脚本定义依赖关系管理器”,
“依赖项”:{}
}
  • main定义的入口点(在NPM的package.json中规范为“main”)
  • 浏览器在 解析(遵循浏览器字段规范)
  • 环境表示此定义必须作为环境安装
  • 名称此定义的名称
  • postmessage安装后发送给用户的消息
  • 版本键入此定义的semver范围
  • 依赖项需要安装的依赖项映射
  • devDependencies需要安装的开发依赖关系图
  • ambientDependencies可能需要安装的环境依赖关系的映射
  • 环境开发依赖关系可能需要安装的环境开发依赖关系的映射

您的模块应该在
.d.ts
文件中包含自己的
node.d.ts
文件(我们称之为
my\u awesome\u 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
}

不确定您使用
使用节点模块作为参数是什么意思
您指的是从另一个
.d.ts
文件导入定义吗?库是用vanilla js编写的,当我要为此库编写d.ts文件时,有一个函数将events.EventEmtter作为参数,如
函数(发射器)
,我不知道如何从node.d.ts导入EventEmitter,即使我可以从node.d.ts导入events.EventEmitter,我如何要求用户自动下载node.d.ts?