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およびtypings.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
typings.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
または手動で:typings.jsonでこのタイピングファイルへの参照を追加します。
{
"name": "TestName",
"version": false,
"globalDependencies": {
"rx-node": "file:typings/custom/rx-node.d.ts"
}
}
そして、typings install
rx-node.d.ts
という名前の新しいファイルを作成し、tsconfig.json
で直接または別のファイル(typings/index.d.ts
など)から参照されていることを確認します。次に、このようなものから始めることができます:
///<reference path="rx.d.ts" />
declare namespace RxNode {
export interface Emitter<T>{
}
export function toEventEmitter<T>(observable: Rx.Observable<T>, eventName: string): Emitter<T>;
}
この質問/回答は役に立つかもしれません: 既存の.jsファイルからd.tsファイルを書く方法?
質の高いタイピング定義ファイルを作成する場合は、 https://github.com/DefinitelyTyped/DefinitelyTyped に貢献してください