Поставщик ionic2 не может загрузить модуль

Я пытаюсь добавить провайдера в свое приложение, но получаю эту ошибку

Необработанная ошибка: не удается найти модуль "../providers/login/loginservice"

Структура проекта

это структура моего проекта

Вот как выглядит 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();
  }

}

*Обновление:добавление кода службы входа в систему.

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');
  }

}

Я не могу найти никакого решения для этого. Я попытался изменить пути и снова удалить и добавить поставщика. на данный момент у провайдера нет никаких функций, так как я просто пытаюсь успешно импортировать его.

Скриншот ошибки

введите здесь описание изображения

Пожалуйста, помогите мне.

Спасибо, Шрути Наир.


person Shruti Nair    schedule 26.04.2017    source источник
comment
В loginservice.ts вообще нет кода ..? Или у вас есть функция экспорта в файле, и вы все еще получаете эту ошибку?   -  person Raja Yogan    schedule 26.04.2017
comment
@raja: я также добавил файл службы входа в систему. Он имеет функцию экспорта.   -  person Shruti Nair    schedule 26.04.2017
comment
Вы пытались перезапустить свою ионную подачу?   -  person JoeriShoeby    schedule 26.04.2017
comment
можешь скопировать ошибку?   -  person Fernando Del Olmo    schedule 26.04.2017
comment
Переместите папку loginservice в папку pages, затем импортируйте ее с новым путем. Он импортный?   -  person Duannx    schedule 26.04.2017
comment
Я попытался перезапустить, но ничего не изменилось в машинописи терминала: src/pages/loginpage/loginpage.ts, строка: 18 Не удается найти имя «Loginservice». L18: конструктор (public navCtrl: NavController, public navParams: NavParams, public loginservice: Loginservice) {   -  person Shruti Nair    schedule 26.04.2017
comment
@ Фернандо Дель Ольмо обновил вопрос с ошибкой   -  person Shruti Nair    schedule 26.04.2017
comment
Эта ошибка обычно возникает при проблемах с импортом. Проверьте все импорты и, если у вас есть репозиторий github для этого, пожалуйста, поделитесь ссылкой.   -  person Raja Yogan    schedule 26.04.2017
comment
@Duannx: я скопировал файл в папку pages, а затем попытался импортировать его, и это сработало. Но правильно ли это? И в чем причина такого поведения. Нельзя ли хранить его в отдельной папке поставщика, а затем импортировать.   -  person Shruti Nair    schedule 26.04.2017
comment
Я попытался сохранить его в отдельной папке провайдера, и он отлично работает.   -  person Raja Yogan    schedule 26.04.2017
comment
@Raja: Можете ли вы помочь мне найти мою ошибку? Я думаю, что мой импорт и пути верны, так в чем проблема.   -  person Shruti Nair    schedule 26.04.2017
comment
@ShrutiNair Убедитесь, что вы правильно используете аннотацию @IonicPage().   -  person Math10    schedule 26.04.2017
comment
Я думаю, вы могли не сохранить файл, потому что первая ошибка, которую вы опубликовали, была Uncaught Error: Cannot find module ../providers/login/loginservice; тогда как файл находился в '../../providers/login/loginservice;   -  person Raja Yogan    schedule 26.04.2017
comment
@ShrutiNair: это неправильный путь. Сделайте это, чтобы проверить, что файл вашего провайдера в порядке. Похоже, ваша ошибка возникает только в файле loginpage.ts file, а не в файле app.module.ts, верно?   -  person Duannx    schedule 26.04.2017
comment
Пожалуйста, проверьте код на github github.com/shruti1006/Ecart Это снова вызывает ту же проблему. Дайте мне знать, если у вас есть решение   -  person Shruti Nair    schedule 26.04.2017


Ответы (1)


Глядя на код, который вы указали в ссылке выше

В каталоге src/providers у вас есть файл loginservice.ts, но в loginpage.ts ваш импорт

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

Нет каталога входа, поэтому импорт должен быть

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

Пожалуйста, измените его и в файле app.module.ts.

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

Надеюсь, это поможет вам, спасибо.

person Raja Yogan    schedule 26.04.2017