javascript - Ionic Yakalanamayan Hata: Bir servis sağlayıcıyı içe aktarırken "." modülü bulunamıyor
Ionic uygulamamda en son branch’i çekip yarattığım yeni servis sağlayıcısını import etmeye çalışıyorum.
Bu kod satırını ithal etmeye çalıştığımda:
import { AuthServiceProvider } from '../providers/auth-service'
app.module.ts dosyasında her zaman şu hatayı alıyordum:
Uncaught Error: Cannot find module "." at webpackMissingModule (index.js:3) at e.code (index.js:3) at Object.<anonymous> (index.js:9) at __webpack_require__ (bootstrap 62d6a5897825ac327001:54) at Object.690 (slide.transition.ts:67) at __webpack_require__ (bootstrap 62d6a5897825ac327001:54) at Object.495 (main.js:1885) at __webpack_require__ (bootstrap 62d6a5897825ac327001:54) at Object.487 (notification-api.ts:6) at __webpack_require__ (bootstrap 62d6a5897825ac327001:54)
Ama ayrıca sağlayıcımın sorunsuz çalışan başka bir hizmetini de ithal ettiğimi unutmayın.
İşte aşağıda auth-service.ts dosyamın kodu.
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Events } from 'ionic-angular/umd';
/*
Generated class for the AuthServiceProvider provider.
See https://angular.io/guide/dependency-injection for more info on providers
and Angular DI.
*/
@Injectable()
export class AuthServiceProvider {
public isLoggedIn = false;
constructor(
public http: HttpClient,
private events: Events
) {
console.log('Hello AuthServiceProvider Provider');
events.subscribe('user:logged-in', (user) => {
this.isLoggedIn = true;
console.log('Welcome', user);
});
}
}
app.module.ts dosyamda kodumu göstermeyeceğim çünkü ithal eklentiler ve diğer sağlayıcılarla bombardımana tutuluyor.
İşte benim ionic bilgim
cli packages: (/usr/lib/node_modules)
@ionic/cli-utils : 1.19.2
ionic (Ionic CLI) : 3.20.0
küresel paketler:
cordova (Cordova CLI) : 8.0.0
yerel paketler:
@ionic/app-scripts : 3.1.8
Cordova Platforms : android 6.3.0 browser 5.0.3
Ionic Framework : ionic-angular 3.9.2
Sistem :
Android SDK Tools : 26.1.1
Node : v6.12.2
npm : 4.6.1
OS : Linux 4.13
Çevre Değişkenleri:
ANDROID_HOME : /home/clifford/Android/Sdk
Peki neden diğer sağlayıcılar ile aynı olan o belirli hizmet sağlayıcısında hata alıyorum?
Herhangi bir düşünce?
Birinin yardımcı olmasını takdir ederim. Şimdiden teşekkürler.
Cevap #1
Sorunu çözmek için sonunda bunu anladım. Hata, olayları ionic-angular'den içe aktardığımda meydana geliyor.
Bunun yerine: import { Events } from 'ionic-angular/umd';
Sadece sonundaki umd'yi kaldır. Bunun neden olduğunu bilmiyorum çünkü VS Code'dan otomatik ithalat kullanıyorum.
Cevap #2
import { Events } from 'ionic-angular/umd'; kodunu import { Events } from 'ionic-angular'; olarak değiştirdim. "typescript": "~2.6.2" kullanıyordum. Typescript versiyonunu değiştirmeyi denedim ve bazı durumlarda Typescript 3.1'in çözüm olabileceğini duydum. Benim durumumda, Typescript 2.8.0'dan daha yüksek bir sürüme geçtiğimde ionic ile ilgili başka sorunlar yaşamaya başladım. Sonuç olarak yukarıdaki çözüm işe yarıyor ve bence bu daha çok bir ionic framework sorunu.