Typescript | TypeError: __WEBPACK_IMPORTED_MODULE_1_signature_pad__ is not a constructor

Typescript | TypeError: __WEBPACK_IMPORTED_MODULE_1_signature_pad__ is not a constructor

我目前正在做一个 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 is not a constructor

我也尝试过使用dimpu的angular2-signature-pad,但基本上出现了同样的错误。

如果您有 signature_pad (npm install --save-dev @types/signature_pad) 的类型,则必须像下面那样导入和使用它,因为 signature_pad 没有任何导出成员,只声明 class SignaturePad 进入当前范围:

import 'signature_pad';

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