如何使用TypeScript定义文件中的导出接口?

时间:2016-11-29 23:34:52

标签: typescript typescript-typings

我正在尝试使用jssha的类型版本并运行npm install @types/jssha --save并安装了定义(以及库本身)。

在我的测试文件中,我现在有import { jsSHA } from 'jssha',在@ types / jssha index.d.ts中,我看到export interface jsSHA {...}

我希望现在能够在我的测试文件中调用jsSHA,但该值为undefined

我如何实际使用导出的界面?

2 个答案:

答案 0 :(得分:3)

export interface jsSHA {...}不是如何导入它的指示器,因为它是在declare namespace jsSHA {内声明的。

当您查看该定义文件中的出口(最后)时,您会看到

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

每当您看到export =时,最佳导入方式是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';

答案 1 :(得分:-1)

如果它实际上是一个界面,它只用于构建js,那么它呢?然后你需要文件顶部的/// <reference path="path to .d.ts" />