导入React Typescript的包时不是构造函数错误

时间:2017-10-06 09:45:55

标签: javascript reactjs typescript

我在使用React和Typescript的项目上工作。我试图导入一个包,我运行该文件时得到的错误是包没有构造函数。

我注意到许多软件包中存在错误,我想问一下是否有办法让它们工作而不是试图找到另一个包含构造函数的软件包。

我正在测试的软件包称为 jsPDF

  

未捕获的TypeError:jspdf_1.default不是构造函数

我的代码是

import jsPDF from 'jspdf';

export default class DataModelPage extends React.Component<any, any> {

public render(){
    let doc = new jsPDF()

    doc.text('Hello world!', 10, 10)
    doc.save('a4.pdf')

    return (
        <div>...</div>
    )
}

2 个答案:

答案 0 :(得分:1)

使用以下语法导入时,您依赖于模块中的默认导出:

import jsPDF from 'jspdf';

在许多情况下,没有默认导出(我更喜欢说实话,因为你要明确你的依赖关系) - 所以你需要使用...导入...

import * as jsPDF from 'jspdf';

或者...

import { justTheThingIWant } from 'jspdf';

(其中justTheThingIWant是你想要的东西的名字。

答案 1 :(得分:0)

下面的代码在angular 8项目中为我工作。

import * as jsPDF from 'jspdf';

此外,如果有人尝试以横向模式将primeNG表内容导出为pdf,则可能会帮助以下代码:

需要在库下面导入。

import 'jspdf-autotable';

在.ts文件中使用以下代码行。

const doc = new jsPDF('l', 'mm', 'a4');    
doc.autoTable(this.exportColumns, data);    
doc.save(this.getFileName('.pdf'));

这可能会帮助某人。