2017-04-26 130 views
0

我想一个提供程序添加到我的应用程序,但得到这个错误ionic2提供商“无法加载模块”

未捕获的错误:无法找到模块“../providers/login/loginservice”

项目结构

this is my project structure

这里是app.module.ts外观

import { BrowserModule } from '@angular/platform-browser'; 
import { ErrorHandler, NgModule } from '@angular/core'; 
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular'; 
import { SplashScreen } from '@ionic-native/splash-screen'; 
import { StatusBar } from '@ionic-native/status-bar'; 
import { HttpModule} from '@angular/http'; 


import { MyApp } from './app.component'; 
import { HomePage } from '../pages/home/home'; 
import { Loginpage } from '../pages/loginpage/loginpage'; 

import { Loginservice } from '../providers/login/loginservice'; 


@NgModule({ 
    declarations: [ 
    MyApp, 
    HomePage, 
    Loginpage 
    ], 
    imports: [ 
    BrowserModule, 
    IonicModule.forRoot(MyApp) 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
    MyApp, 
    HomePage, 
    Loginpage 
    ], 
    providers: [ 
    StatusBar, 
    SplashScreen, 
    Loginservice, 
    {provide: ErrorHandler, useClass: IonicErrorHandler} 
    ] 
}) 
export class AppModule {} 

loginpage.ts在那里我尝试使用提供商

import { Component } from '@angular/core'; 
import { IonicPage, NavController, NavParams } from 'ionic-angular'; 
import { Loginservice } from '../../providers/login/loginservice'; 

/** 
* Generated class for the Loginpage page. 
* 
* See http://ionicframework.com/docs/components/#navigation for more info 
* on Ionic pages and navigation. 
*/ 
@IonicPage() 
@Component({ 
    selector: 'page-loginpage', 
    templateUrl: 'loginpage.html' 
    }) 
export class Loginpage { 

    constructor(public navCtrl: NavController, public navParams: NavParams,public loginservice : Loginservice) { 
    } 

    ionViewDidLoad() { 
    console.log('ionViewDidLoad Loginpage'); 
    } 
    login(){ 
    console.log("inside Login"); 
    //this.loginservice.doLogin(); 
    } 

} 

*更新:添加login服务代码。

import { Injectable } from '@angular/core'; 
import { Http } from '@angular/http'; 
import 'rxjs/add/operator/map'; 

/* 
    Generated class for the Loginservice provider. 

    See https://angular.io/docs/ts/latest/guide/dependency-injection.html 
    for more info on providers and Angular 2 DI. 
*/ 
@Injectable() 
export class Loginservice { 

    constructor(public http: Http) { 
    console.log('Hello Loginservice Provider'); 
    } 

} 

我无法找到任何解决方案。 我试着改变路径并再次移除并添加提供程序。 截至目前,提供商没有任何功能,因为我试图成功导入它。

错误截图

enter image description here

请指引我。

感谢 思鲁提奈尔

+0

loginservice.ts根本没有任何代码..?或者你有文件中的导出功能,仍然得到这个错误..? –

+0

@raja:我也添加了loginservice文件,它具有导出功能 –

+0

您是否尝试重新启动您的离子服务? – JoeriShoeby

回答

0

你在上面的链接

在src /供应商目录中提供的代码看你有loginservice.ts文件,但在loginpage.ts您导入

import { Loginservice } from '../../providers/login/loginservice'; 

没有登录目录,所以进口应该是

import { Loginservice } from '../../providers/loginservice'; 

请改变它在app.module.ts文件以及

import { Loginservice } from '../providers/loginservice'; 

希望这可以帮助您,谢谢。