網站搜尋

javascript - Typescript | TypeError: __WEBPACK_IMPORTED_MODULE_1_signature_pad__ 不是一個建構函數


我目前正在開發一個 Angular2 項目,並且我正在嘗試使用一個 JS 庫(https://github.com/szimek/signature_pad)來做簽名輸入。

我已經嘗試按照原樣使用這個函式庫,我的程式碼如下:

// .ts file
import * as SignaturePad from 'signature_pad';

export class ... {
    private signaturePad: SignaturePad;

    ngOnInit() {
        let canvas = document.querySelector("canvas");
        this.signaturePad = new SignaturePad(canvas);
    }
}

.

// .html file
<div...>
    <canvas></canvas>
</div>

當我啟動瀏覽器頁面時,我收到以下錯誤:ERROR Error: Uncaught (in promise): TypeError: WEBPACK_IMPORTED_MODULE_1_signature_pad 不是構造函數

我也試過使用 dimpu 的 angular2-signature-pad,但基本上出現了相同的錯誤。

答案#1

只要你有 signature_pad 的型別定義(npm install --save-dev @types/signature_pad),它必須像下面這樣被導入和使用,因為 signature_pad 沒有任何匯出的成員,只在當前作用域中宣告了 SignaturePad 類別:

import 'signature_pad';

// ...
let canvas = document.querySelector("canvas");
this.signaturePad = new SignaturePad(canvas);