我正在使用npm模块(node-rsa),尝试使用打字稿。在我的模块示例中,我需要编写一些这样的js(摘自模块文档)。
var NodeRSA = require('node-rsa');
var key = new NodeRSA({b: 512});
但是,当我在TypeScript中键入以下内容时:
import {NodeRSA} from 'node-rsa';
var key = new NodeRSA({b: 512});
它编译为:
var node_rsa_1 = require('node-rsa');
var key = new node_rsa_1.NodeRSA({ b: 512 });
引发错误:
“ node_rsa_1.NodeRSA不是函数”
我必须编写自己的
.d.ts
文件,因为DT上没有任何内容,所以我不确定这是否有区别吗? 最佳答案
我在我的项目上尝试了此方法,并成功了:
import * as NodeRSA from 'node-rsa';
我认为这是因为node-rsa具有默认导出。