![](/img/trans.png)
[英]Module not found: Error: Can't resolve 'rxjs/add/observable/throw'
[英]Ionic 4 native plugin geolocation gives me “Module not found: Error: Can't resolve 'rxjs/Observable'”
我試圖在ionic 4
使用離子原生插件geolocation
,但我收到了這個錯誤:
編譯失敗。
./node_modules/@ionic-native/geolocation/index.js找不到模塊:錯誤:無法解析'C:\\ Projects \\ ionic \\ prayers \\ node_modules \\ @ ionic-native \\ geolocation'中的'rxjs / Observable'
這是我的依賴:
"dependencies": {
"@angular/common": "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/router": "6.0.9",
"@ionic-native/core": "5.0.0-beta.14",
"@ionic-native/geolocation": "^4.11.0",
"@ionic-native/splash-screen": "5.0.0-beta.14",
"@ionic-native/status-bar": "5.0.0-beta.14",
"@ionic/angular": "4.0.0-beta.0",
"@ionic/ng-toolkit": "1.0.0",
"@ionic/schematics-angular": "1.0.1",
"cordova-plugin-geolocation": "^4.0.1",
"core-js": "^2.5.3",
"rxjs": "6.2.2",
"zone.js": "^0.8.26"
},
這是我使用的代碼: -
app.module.ts
import { Geolocation } from '@ionic-native/geolocation';
...
NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
providers: [
StatusBar,
SplashScreen, Geolocation,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
home.ts
import { Geolocation } from '@ionic-native/geolocation';
...
constructor(private geolocation: Geolocation) {}
您在更改導入語句的位置安裝了rxjs 6.2.2
。
穩定的離子天然仍然使用rxjs 5.x.
您可以在此處查看遷移指南。
你可以使用rxjs-compat
npm i rxjs-compat --save
或者回到5.x版本。
另一種選擇是將@ionic-native/geolocation
版本更新為5.0.0-beta14
就像你的其他離子原生插件一樣,因為根據package.json ,它應該使用rxjs 6.x
npm i --save @ionic-native/geolocation@5.0.0-beta.14
我遇到了同樣的問題,當將Geolocation
升級到5.0.0-beta.14
我還必須將導入路徑更新為:
import { Geolocation } from "@ionic-native/geolocation/ngx";
OBS:對於像UniqueDeviceID
這樣的其他導入,我還必須將/ngx
后綴添加到導入路徑。
我認為由於Angular的第6版,這個后綴是必需的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.