cordova - 集成织物 Crashlytics 后,Ionic App 无法正常工作
问题描述
我想集成织物 Crashlytics,但它不适合我。我已经集成了 chrashlytics,但是当我在模块中导入 Crashlytics 时,它会返回一个错误。我已经添加插件链接这个
ionic cordova plugin add cordova-fabric-plugin --variable FABRIC_API_KEY=asdjfkjasldfjklajsdfkljasldjfl--variable FABRIC_API_SECRET=asdfasdfasdfasdfasd
npm install --save @ionic-native/fabric@4
然后我像这样在module.ts中添加了Crashlytics
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { DatePipe } from '@angular/common';
import { Crashlytics } from '@ionic-native/fabric/';
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
providers: [
StatusBar,
Crashlytics,
DatePipe,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}
然后我像这样在 home.ts 中添加 Crashlytics
import { Component } from '@angular/core';
import { DatePipe } from '@angular/common';
import { Crashlytics } from '@ionic-native/fabric';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss']
})
export class Tab1Page {
constructor(public datepipe: DatePipe,
private crashlytics: Crashlytics
){
try {
throw new Error("this is javascriptError");
}
catch (e) {
this.crashlytics.addLog("Error while loading data");
this.crashlytics.sendNonFatalCrash(e.message || e);
}
}
myTime: String = this.datepipe.transform(new Date().toISOString(), 'hh:mm');;
myDate: String = this.datepipe.transform(new Date().toISOString(), 'MMM dd, yyyy');;
}
这是我的错误日志
vendor.js:75062 Uncaught TypeError: Object(...) is not a function
at vendor.js:75062
at Module../node_modules/@ionic-native/fabric/index.js (vendor.js:75164)
at __webpack_require__ (runtime.js:84)
at Module../src/app/app.module.ts (main.js:1036)
at __webpack_require__ (runtime.js:84)
at Module../src/main.ts (main.js:1114)
at __webpack_require__ (runtime.js:84)
at Object.0 (main.js:1137)
at __webpack_require__ (runtime.js:84)
at checkDeferredModules (runtime.js:46)
请仔细查看并帮我解决
解决方案
对于 Angular,导入路径应以
/ngx
所以:
import { Crashlytics } from '@ionic-native/fabric';
应该:
import { Crashlytics } from '@ionic-native/fabric/ngx';
推荐阅读
- php - 将 URL 更改为 HTML 中的 post/{number} 会解析 post?id={number},但仍将 post/{number} 显示为 URL
- mongodb - 使用 Golang 和 Robo3T 连接到 MongoDB ReplicaSet 的问题
- javascript - NextJS 中的共享 UI 无法在构建过程中接收导入的模块值
- java - ONNX 的 JavaCPP 预设:不支持平台“windows-x86_64”
- swift - 在 SwiftUI 的 LinkPresentation 框架中的函数中返回 LPMetadataProvider 的图像
- java - 是否可以使用 java 将 .mdf 文件转换为 csv?
- python - Python直接制作一个变化的numpy数组的电影
- python - python -- 在没有管理员权限的情况下手动安装下载的模块
- node.js - 针对 ejs 渲染错误的 Nodejs Express Ejs 应用程序错误捕获
- c# - C# 将 xml 粘贴为类:缺少样式表