2016-11-29 8 views
0

私はjsshaの型付きのバージョンを使用しようとしていて、npm install @types/jssha --saveを実行し、定義(およびライブラリ自体)をインストールしました。TypeScript定義ファイルからエクスポートされたインターフェイスを使用するには?

私は今 import { jsSHA } from 'jssha'を持ち、@タイプ/ jsshaのindex.d.tsに私は export interface jsSHA {...}

を参照してください、私は今、私のテストファイルにjsSHAを呼び出すことができることを期待するが、その値は私のテストファイルで

undefined

エクスポートされたインターフェイスを実際に使用するにはどうすればよいですか?

答えて

2

export interface jsSHA {...}の上部に/// <reference path="path to .d.ts" />のようなものを必要とし、それがdeclare namespace jsSHA {内で宣言されますので、あなたがそれをインポートする必要がありますどのようにするものではありません。

あなたは(一番最後に)その定義ファイルのトップレベルの輸出を見ると、あなたがexport =見るたびに

declare var jsSHA: jsSHA.jsSHA; 
export = jsSHA; 
export as namespace jsSHA; 

を参照してください、インポートするための最良の方法は、import require経由です:

import jsSHA = require('jssha'); 

var shaObj = new jsSHA("SHA-512", "TEXT"); 
shaObj.update("This is a test"); 
var hash = shaObj.getHash("HEX"); 

module=commonjsを使用してコンパイルしている場合、このインポートも正しく動作します。

import * as jsSHA from 'jssha'; 
+0

あなたの答えは100%正しいです。ありがとうございました。 –

-1

実際にインターフェイスであれば、jsの作成にのみ使用されます。次に、ファイル

関連する問題