2017-10-06 52 views
0

我使用的是使用React with Typescript的項目。我試圖導入一個包,當我運行該文件時得到的錯誤是該包沒有構造函數。導入React Typescript的包時不會出現構造函數錯誤

我注意到在很多軟件包中出現錯誤,我想問問是否有辦法讓它們工作,而不是試圖找到另一個有構造函數的軟件包。

我是對的,現在的測試包被稱爲jsPDF

Uncaught TypeError: jspdf_1.default is not a constructor

我的代碼是

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> 
    ) 
} 
+0

你能分享你的進口陳述嗎?我想知道你是否試圖導入包沒有默認導出的默認值? – Fenton

+0

@Fenton實際上是將其作爲答案發布,因爲修復是將'import * as jsPDF'而不是'import jsPDF'! – Eristikos

+0

我想這取決於jsPDF模塊的內容,或者您​​只需要jsPDF的打字稿定義文件 – Kokodoko

回答

0

當使用以下語法導入,你是依靠在那裏是一個默認的導出在模塊中:

import jsPDF from 'jspdf'; 

在許多情況下沒有默認的出口(我喜歡的事情,這樣,說實話,當你要明確你的依賴) - 所以你需要使用要麼...

import * as jsPDF from 'jspdf'; 

或者導入...

import { justTheThingIWant } from 'jspdf'; 

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

相關問題