我喜欢在TypeScript中使用rx-node

import RxNode from 'rx-node';

我使用npm安装了rx-node
$ npm install rx-node --save

我搜索了类型定义,但没有任何结果
$ typings search rx-node
No results found for search

如何为已安装的npm模块rx-node定义自定义类型定义?我应该在哪里存储类型定义文件?如何配置TypeScript(tsconfig.json和Types.json)?

编辑:多亏了Aleksey L.David Bohunek,我实现了定义一个看起来像这样的rx-node.d.ts的操作
declare module "rx-node" {
  import {Observable} from '@reactivex/rxjs';
  import {ReadLine} from "readline";

  function fromReadLineStream(stream: ReadLine): Observable<string>
}

我安装了@reactivex/rxjs
npm install --save @reactivex/rxjs

由于我有一个错误
node_modules\@reactivex\rxjs\dist\cjs\Observable.d.ts (10,66): Cannot find name 'Promise'. (2304)

我将tsconfig.json中的目标更改为es6

最佳答案

当心,这是一个关于使用typings管理定义的老问题(2016年),不建议使用npm直接安装它们

您可以将自定义定义添加到Types.json。例如,具有以下文件夹结构:

/typings
    /custom
        rx-node.d.ts
    /global
        ...

其中rx-node.d.ts是您的自定义键入文件。例如:
declare module RxNode {
    export interface ...
}

然后用命令安装
typings install file:typings/custom/rx-node.d.ts --save --global

或手动:在types.json中添加对此类型文件的引用:
{
    "name": "TestName",
    "version": false,
    "globalDependencies": {
        "rx-node": "file:typings/custom/rx-node.d.ts"
    }
}

并运行typings install

关于node.js - TypeScript:如何为已安装的npm包定义自定义类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37641960/

10-16 17:49