如何在离子 3 中使用角度 6?
Posted
技术标签:
【中文标题】如何在离子 3 中使用角度 6?【英文标题】:How to use angular 6 in ionic 3? 【发布时间】:2018-11-12 20:46:21 【问题描述】:我在 Angular 5.2 上有一个 Ionic 3 应用程序。我正在尝试更新到 Angular 6。我已经按照 HttpClient
和 NgModule
的升级指南进行操作。我现在遇到的问题是ionic-native
。
我安装了ionic-native
V5,它正在使用rxjs
v6(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
我收到多个错误
找不到名称“设备”
类型参数'声明:(typeof MyApp)[];进口:(ModuleWithProviders | typeof HttpClientModule | typeo...' 不可分配给“NgModule”类型的参数。 财产“提供者”的类型不兼容。 类型 '(DeviceOriginal ' 不可分配给类型 'Provider[]'。 类型“DeviceOriginal”不可分配给类型“Provider”。 类型“DeviceOriginal”不可分配给类型“Provider”。 类型“DeviceOriginal”不可分配给类型“ClassProvider”。 “DeviceOriginal”类型中缺少属性“provide”。
问题是:ionic 3 是否可以与 angular 6 一起使用?
【问题讨论】:
好像你的导入不正确ionicframework.com/docs/native/device/#usage,你能不能试着把它改成import Device from '@ionic-native/device';
谢谢,但实际上,这就是 v5 的导入方式。请看这个github.com/ionic-team/ionic-native/tree/v5
【参考方案1】:
到目前为止,唯一对我有用的是将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"
【讨论】:
【参考方案2】:正如 Ionic 论坛上的一篇帖子所暗示的那样,Ionic 3.x 未使用 Angular 6.x 进行测试,因此未得到官方支持。
https://forum.ionicframework.com/t/upgrading-to-angular-6/131121/5
在我看来,最好等待并更新到 Ionic 4.x。
【讨论】:
以上是关于如何在离子 3 中使用角度 6?的主要内容,如果未能解决你的问题,请参考以下文章