Машинопись | 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>

и я получаю следующую ошибку при запуске страницы браузера: ОШИБКА. TypeError: WEBPACK_IMPORTED_MODULE

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

export class ... {
    private signaturePad: SignaturePad;

    ngOnInit() {
        let canvas = document.querySelector("canvas");
        this.signaturePad = new SignaturePad(canvas);
    }
}
signature_pad не является конструктором

Я также пытался использовать angular2-signature-pad dimpu, но по существу возникает та же ошибка.


person llamarama    schedule 25.05.2017    source источник


Ответы (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);
person Saravana    schedule 25.05.2017
comment
Это приводит к: ERROR Error: Uncaught (in promise): ReferenceError: SignaturePad не определен - person Joe Valeriana; 26.06.2018