【问题标题】:Cannot read property 'init' of undefined QuaggaJS无法读取未定义 QuaggaJS 的属性“init”
【发布时间】:2017-07-20 23:15:56
【问题描述】:

我目前在 Angular 2 中使用 QuaggaJs,并将 quagga.d.ts 导入到组件中。但是加载页面时出现以下错误:

无法读取未定义的属性“init”

组件有 QuaggaJS 设置如下:

import Quagga from './quagga.d';

export class AddHomeComponent {


  Quagga.init({
    inputStream: {
      name: "Live",
      type: "LiveStream"
    },
    decoder: {
      readers: ["code_128_reader"]
}
  }, function(err) {
  if (err) {
    console.log(err);
    return
  }
  console.log("Initialization finished. Ready to start");
  Quagga.start();
});


constructor(private queryservice: QueryService) {



}

}

脚本也被加载:

<script src="https://cdnjs.cloudflare.com/ajax/libs/quagga/0.11.6/quagga.min.js"></script>

我不知道为什么会这样?任何帮助将不胜感激。

【问题讨论】:

  • 是编译器设置问题吗?我已经尝试了各种..

标签: angular quaggajs


【解决方案1】:

如果你通过&lt;script/&gt;标签手动加载脚本,你应该使用

declare const Quagga: any;

而不是

import Quagga from './quagga.d';

但是,在这种情况下,不会提供 Quagga 类的类型。

【讨论】:

  • 我正在使用类型,因为我使用的是 Angular 2 - 它很奇怪,因为导入的文件可以工作,例如(当键入“Quagga”时,它会在接口文件中提供方法,例如 init)。但是在运行时它说它未定义..
  • 在这种情况下你需要使用import Quagga from 'quagga';,不要使用from quagga.d并移除&lt;script/&gt;标签
猜你喜欢
  • 2021-09-28
  • 2022-01-08
  • 1970-01-01
  • 2022-07-06
  • 2022-11-23
  • 2019-09-16
  • 2019-07-20
  • 2017-12-24
  • 2020-04-06
相关资源
最近更新 更多