如何使用从 TypeScript 定义文件导出的接口?
How to use exported interface from TypeScript definition file?
我正在尝试使用 jssha
的类型化版本并安装 运行 npm install @types/jssha --save
并安装定义(以及库本身)。
在我的测试文件中,我现在有 import { jsSHA } from 'jssha'
,在 @types/jssha index.d.ts 中,我看到 export interface jsSHA {...}
我希望现在能够在我的测试文件中调用 jsSHA
,但该值是 undefined
。
如何实际使用导出的接口?
如果它实际上是一个接口,它只是用于构建我们,不是吗?然后你需要在文件顶部 /// <reference path="path to .d.ts" />
之类的东西
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';
我正在尝试使用 jssha
的类型化版本并安装 运行 npm install @types/jssha --save
并安装定义(以及库本身)。
在我的测试文件中,我现在有 import { jsSHA } from 'jssha'
,在 @types/jssha index.d.ts 中,我看到 export interface jsSHA {...}
我希望现在能够在我的测试文件中调用 jsSHA
,但该值是 undefined
。
如何实际使用导出的接口?
如果它实际上是一个接口,它只是用于构建我们,不是吗?然后你需要在文件顶部 /// <reference path="path to .d.ts" />
之类的东西
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';