angular - ionic 5 原生条码扫描器 - 无法导入
问题描述
希望能在这方面得到一些帮助。我正在尝试将 Ionic 的原生条码扫描仪导入到我的 Ionic 5、Angular 9 应用程序中。我安装了电容器并使用以下方法安装条形码扫描仪:
npm install phonegap-plugin-barcodescanner
npm install @ionic-native/barcode-scanner
ionic cap sync
然后我在组件中设置条形码扫描仪,如下所示:
import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx';
constructor(private barcodeScanner: BarcodeScanner) { }
this.barcodeScanner.scan().then(barcodeData => {
console.log('Barcode data', barcodeData);
}).catch(err => {
console.log('Error', err);
});
这引发了空注入器错误。看到论坛,您似乎必须在应用程序模块中导入条形码扫描仪作为提供者。我在 app.modules.ts 中按如下方式执行此操作:
import {BarcodeScanner} from '@ionic-native/barcode-scanner';
.....
providers: [
BarcodeScanner,
StatusBar,
SplashScreen,
FileTransfer, FileTransferObject,
File,
InAppBrowser,
Keyboard,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
UpdateService,
{
provide: HTTP_INTERCEPTORS,
useClass: HttpInterceptorService,
multi: true,
}
],
bootstrap: [AppComponent]
问题是我现在收到以下错误:NgModule 'AppModule' 的提供程序无效 - 只允许提供 Provider 和 Type 的实例
以前有没有其他人遇到过这个问题和解决方案?我还没有安装cordova只是我所需要的电容器,这是正确的吗?
感谢您对此的任何帮助,因为我处于死胡同。在安装的离子信息+ barcde 扫描仪版本下方。提前谢谢了。
@ionic-native/barcode-scanner": "^5.26.0",
@ionic-native/core": "^5.26.0
Ionic:
Ionic CLI : 5.4.15 (/usr/local/lib/node_modules/ionic)
Ionic Framework : @ionic/angular 5.1.1
@angular-devkit/build-angular : 0.901.7
@angular-devkit/schematics : 9.1.7
@angular/cli : 9.1.7
@ionic/angular-toolkit : 2.2.0
Capacitor:
Capacitor CLI : 2.1.2
@capacitor/core : 2.1.2
Cordova:
Cordova CLI : 9.0.0 (cordova-lib@9.0.1)
Cordova Platforms : none
Cordova Plugins : no whitelisted plugins (0 plugins total)
Utility:
cordova-res : not installed
native-run : not installed
System:
NodeJS : v12.14.1 (/usr/local/bin/node)
npm : 6.13.4
OS : macOS Catalina
Xcode : Xcode 11.5 Build version 11E608c
解决方案
您可能应该从 app.module 中的“@ionic-native/barcode-scanner/ngx”而不是“@ionic-native/barcode-scanner”导入 BarcodeScanner。
推荐阅读
- ios - 设备的 Swift 泛型类
- asp.net-mvc - 访问身份配置文件管理
- sonicwall - Sonicwall 扩展器可以跟踪我的互联网使用情况吗?
- python - python中的方程组象征性地
- python - 获取两行之间的天数时差
- sql - 无法重新启动或停止 sqlserver
- javascript - 将令牌存储在 cookie 中或 reactjs 中的本地存储中
- java - Maven-assembly-plugin 包 jar 无法更新 /src/main/resources/log4j2.xml
- reporting-services - 选定 ID 的 SSRS 列可见性
- python - XArray - 为 char 数据创建维度 string1