【发布时间】:2017-12-24 09:52:17
【问题描述】:
我试图让QuggaJS 在我的 Ionic3/Angular4 应用程序中工作。 但我总是得到错误:
Uncaught (in promise): TypeError: Cannot read property 'init' of undefined TypeError: Cannot read property 'init' of undefined at new Scanner
我真的不知道为什么Quarra是未定义的,因为我正常将它导入到我的项目中? 首先我做了:
npm install quagga
然后它确实将它导入到我的项目中,如下所示:
import * as Quagga from 'quagga';
但我仍然收到错误消息。
我的 Typescript 代码如下所示:
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import * as Quagga from 'quagga';
@Component({
selector: 'page-scanner',
templateUrl: 'scanner.html',
})
export class Scanner {
constructor(public navCtrl: NavController,
public navParams: NavParams) {
Quagga.init({
inputStream : {
name : "Live",
type : "LiveStream",
// Or '#yourElement' (optional)
target: document.querySelector('#scanner')
},
decoder : {
//Change Reader for the right Codes
readers: [ "code_128_reader",
"ean_reader",
"ean_8_reader",
"code_39_reader",
"code_39_vin_reader",
"codabar_reader",
"upc_reader",
"upc_e_reader",
"i2of5_reader" ],
}
}, function(err) {
if (err) {
console.log(err);
return
}
console.log("Initialization finished. Ready to start");
Quagga.start();
});
}
}
我真的希望你们能解决这个问题!感谢您的帮助
【问题讨论】:
-
如果您使用的是
import的环境,为什么还要使用require? -
哦,抱歉没有删除那个。我只尝试过它是否会改变某些东西,但它不会。
-
example in the documentation 是
import Quagga from 'quagga';,而不是import * as Quagga from 'quagga';。你为什么用后者? -
我想其他人也遇到过同样的问题,你可以参考stackoverflow的线程stackoverflow.com/questions/42555644/…
-
由于您已接受答案,因此无法添加答案,但再次分享链接以供参考stackoverflow.com/questions/42555644/… 如果有帮助,您可以点赞评论:)
标签: javascript angular typescript ionic-framework typeerror