我喜欢在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/