我正在使用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具有默认导出。

09-07 17:48