javascript - typescript |类型错误 : __WEBPACK_IMPORTED_MODULE_1_signature_pad__ is not a constructor

标签 javascript angular typescript signaturepad

我目前正在做一个 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 没有任何导出成员,仅将类 SignaturePad 声明到当前范围:

import 'signature_pad';

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

关于javascript - typescript |类型错误 : __WEBPACK_IMPORTED_MODULE_1_signature_pad__ is not a constructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44172211/

相关文章:

javascript - 在 jsx 中使用 call 调用函数

javascript - 无法让这些 javascript if 语句发挥作用

angular - 伪元素的样式 z-index

javascript - 我可以向 CLI 添加自己的命令吗?

JavaScript 在推送到数组后停止循环执行

javascript - "' 输出 ' only refers to a type, but is being used a value here"错误

javascript - 在另一个函数完成后运行函数

javascript - Blaze 渲染完成后操作 DOM

javascript - 输入(类型 ="search")十字图标的 Angular 事件绑定(bind)?

Angular 不向 HTML 添加结束标签