如何编写依赖于另一个定义文件的typescript定义文件

时间:2016-03-23 15:33:39

标签: typescript

我正在为现有节点库编写一个打字稿定义文件,该文件使用像httpevents.EventEmitter这样的构建节点模块作为参数, 我的问题是如何为此库编写定义文件的?我试图将这些模块从node.d.ts复制到我自己的定义文件中,但我认为这不是一个好主意。

2 个答案:

答案 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 可能需要安装的环境开发依赖关系的地图
  •