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);
