我正在尝试使用jssha
的类型版本并运行npm install @types/jssha --save
并安装了定义(以及库本身)。
在我的测试文件中,我现在有import { jsSHA } from 'jssha'
,在@ types / jssha index.d.ts中,我看到export interface jsSHA {...}
我希望现在能够在我的测试文件中调用jsSHA
,但该值为undefined
。
我如何实际使用导出的界面?
答案 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" />