this simple queue implementationの入力ファイルを作成しようとしています。私のTSプロジェクトでTypeScript宣言ファイルで定義されたクラスを使用するにはどうすればよいですか?
、私はcustomTypings
というフォルダを作成し、私のtsconfig.jsonファイルのtypeRoots
プロパティにそれを指摘してきました。
ここに私の.d.tsファイルは次のようになります。私はインポート
declare module 'queue-fifo' {
export default class Queue {
constructor();
isEmpty(): boolean;
size(): number;
clear(): void;
enqueue(data: any): void;
dequeue(): any;
peek(): any;
}
}
は通りです:import Queue from 'queue-fifo';
そして私はQueue
クラスのインスタンスを作成しよう:const queue = new Queue();
この時点では、VSコードにタイプエラーはなく、コンパイルエラーも発生しません。
Exception has occurred: TypeError
TypeError: queue_fifo_1.default is not a constructor
at BinarySearchTree.bfs (/../binarySearchTree.ts:110:23)
at testBst (/../binarySearchTree.ts:139:10)
at Object.<anonymous> (/../binarySearchTree.ts:144:1)
at Module._compile (module.js:632:14)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
私はその線で破断した場合、私はQueue
(私が輸入するもの)は未定義ですが、queue_fifo_1
が定義されて見て、私は、デバッガを通じて自分のコードを実行しようとするとしかし、私が取得しますデバッグコンソールの中でその名前を使ってクラスのインスタンスを作成することができます。
この望ましくない動作を引き起こしている宣言の宣言/消費において、私が間違っていることを説明できる人はいますか?
あなたのメインtsファイルに 'export class Queue'を使ってみてください – ranakrunal9