QuaggaJS с проблемами Angular 2
Я пытаюсь использовать QuaggaJS с Angular 2. У меня есть файл quagga.d.ts в папке приложения и следующие операторы импорта в компоненте:
import Quagga from './quagga.d';
Гид говорит от "квага", но это не работает, но выше работает
declare const Quagga = require('quagga').default;
У меня есть следующий код в конструкторе компонента, как это:
constructor() {
Quagga.init({
inputStream : {
name : "Live",
type : "LiveStream",
target: document.querySelector('#yourElement') // Or '#yourElement' (optional)
},
decoder : {
readers : ["code_128_reader"]
}
}, function(err) {
if (err) {
console.log(err);
return
}
console.log("Initialization finished. Ready to start");
Quagga.start();
});
}
Однако я получаю следующую ошибку:
Uncaught (in promise): Error: Error in :0:0 caused by: Cannot read property 'init' of undefined
из core.umd.js
а также
Uncaught (in promise): Error: Error in :0:0 caused by: Cannot read property 'init' of undefined
TypeError: Cannot read property 'init' of undefined
из zone.js
Что означает эта ошибка? Я не могу понять это! Есть ли ошибка с zone.js?
Любая помощь будет принята с благодарностью!
1 ответ
Добавить Quagga в node_modules
бежать
npm install quagga --save
добавлять js
а также css
зависимости в index.html
как обычно к примеру
<script src="node_modules/....../qugga.min.js"></script>
в app.component.ts
import { Component, OnInit } from '@angular/core';
declare var Quagga:any;
@Component({
selector: 'app-root',
template: `<router-outlet></router-outlet>`
})
export class AppComponent implements OnInit {
ngOnInit() {
Quagga.init({
inputStream : {
name : "Live",
type : "LiveStream",
target: document.querySelector('#yourElement') // Or '#yourElement' (optional)
},
decoder : {
readers : ["code_128_reader"]
}
}, function(err) {
if (err) {
console.log(err);
return
}
console.log("Initialization finished. Ready to start");
Quagga.start();
});
}
}
использование ngOnInit
вместо конструктора. В то время как конструктор только создает экземпляр компонента, ngOnInit
будет вызван после загрузки компонента.
Кроме того, посмотрите на https://github.com/serratus/quaggaJS/issues/146 некоторую другую помощь, которая понадобится вам в следующем шаге.