我正在尝试使用jssha
的打印版本并运行npm install @types/jssha --save
并安装了定义(以及库本身)。如何使用TypeScript定义文件中的导出接口?
在我的测试文件,我现在有import { jsSHA } from 'jssha'
并在@类型/ jssha index.d.ts我看到export interface jsSHA {...}
我希望能够现在称之为jsSHA
在我的测试文件,但该值undefined
。
我该如何真正使用导出的界面?
我正在尝试使用jssha
的打印版本并运行npm install @types/jssha --save
并安装了定义(以及库本身)。如何使用TypeScript定义文件中的导出接口?
在我的测试文件,我现在有import { jsSHA } from 'jssha'
并在@类型/ jssha index.d.ts我看到export interface jsSHA {...}
我希望能够现在称之为jsSHA
在我的测试文件,但该值undefined
。
我该如何真正使用导出的界面?
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';
如果它实际上是一个接口,它只用于构建js,不是吗?然后你需要在文件顶部有/// <reference path="path to .d.ts" />
这样的文件
你的答案是100%正确的。谢谢。 –