如何在离子3中使用角度6?

时间:2018-06-03 09:27:05

标签: angular ionic3 ionic-native

我在Angular 5.2上有一个Ionic 3应用程序。我正在尝试更新为角度6.我已经按照HttpClientNgModule的升级指南进行了操作。我现在遇到的问题是ionic-native

我安装了使用ionic-native v6的rxjs V5(angular6要求并且与先前版本不兼容)。

这是我的app.module.ts文件

import { Device } from '@ionic-native/device/ngx';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular'
import { BrowserModule } from '@angular/platform-browser'
import { HttpClientModule } from '@angular/common/http'

@NgModule({
  declarations: [
    MyApp,
  ],
  imports: [
    BrowserModule,
    HttpClientModule,
    IonicModule.forRoot(MyApp),
    IonicStorageModule.forRoot(),
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp
  ],
  providers: [
    Device
  ]
})
export class AppModule { }

我收到多个错误

  

找不到名称'设备'

     

类型的参数'{declarations:(typeof MyApp)[];导入:( ModuleWithProviders | typeof HttpClientModule | typeo ...'不能分配给'NgModule'类型的参数。     属性“提供者”的类型是不兼容的。       类型'(DeviceOriginal'不能分配给'Provider []'类型。         类型'DeviceOriginal'不能分配给'Provider'类型。           类型'DeviceOriginal'不能分配给'Provider'类型。             类型'DeviceOriginal'不能分配给'ClassProvider'类型。               'DeviceOriginal'类型中缺少属性'provide'。

问题是:离子3能否与角6一起工作?

2 个答案:

答案 0 :(得分:4)

到目前为止,对我来说唯一有效的方法是将ionic-native保留为4.10.0版本,并安装了rxjs-compat

我认为进一步行动还为时过早。这是package.json

"dependencies": {
    "@angular/common": ">=6.0.9",
    "@angular/compiler": ">=6.0.9",
    "@angular/compiler-cli": ">=6.0.9",
    "@angular/core": ">=6.0.9",
    "@angular/forms": ">=6.0.9",
    "@angular/http": ">=6.0.9",
    "@angular/platform-browser": ">=6.0.9",
    "@angular/platform-browser-dynamic": ">=6.0.9",
    "@angular/pwa": ">=0.6.8",
    "@angular/service-worker": ">=6.0.9",
    "@ionic-native/core": ">=4.10.0",
    "ionic-angular": ">=3.9.2",
    "purify-css": ">=1.2.5",
    "rxjs": "^6.2.2",
    "rxjs-compat": ">=6.2.2",
    "zone.js": ">=0.8.26"
  }

答案 1 :(得分:2)

就像在Ionic论坛上的帖子所建议的那样,Ionic 3.x尚未经过Angular 6.x的测试,因此未得到正式支持。

https://forum.ionicframework.com/t/upgrading-to-angular-6/131121/5

我认为最好等待并更新到Ionic 4.x。