离子找不到模块'../providers/auth-service/auth-service' [英] Ionic Cannot find module '../providers/auth-service/auth-service'

查看:24
本文介绍了离子找不到模块'../providers/auth-service/auth-service'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 ionic angular 3.3.0 中创建登录/注册.我收到错误找不到模块'../providers/auth-service/auth-service'.在 login.ts 文件中.请帮忙!

I am trying to create Login/SignUp in ionic angular 3.3.0. I get the error Cannot find module '../providers/auth-service/auth-service'. in the login.ts file. Please Help!

auth-service.ts

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

/*
  Generated class for the AuthServiceProvider provider.

  See https://angular.io/docs/ts/latest/guide/dependency-injection.html
  for more info on providers and Angular 2 DI.
*/
export class User {
  name: string;
  email: string;

  constructor(name: string, email: string) {
    this.name = name;
    this.email = email;
  }
}
@Injectable()
export class AuthServiceProvider {
  currentUser: User;
  public login(credentials) {
    if (credentials.email === null || credentials.password === null) {
      return Observable.throw("Please insert credentials");
    } else {
      return Observable.create(observer => {
        // At this point make a request to your backend to make a real check!
        let access = (credentials.password === "pass" && credentials.email === "email");
        this.currentUser = new User('ian', 'ianlikono@gmail.com');
        observer.next(access);
        observer.complete();
      });
    }
  }
 public register(credentials) {
    if (credentials.email === null || credentials.password === null) {
      return Observable.throw("Please insert credentials");
    } else {
      // At this point store the credentials to your backend!
      return Observable.create(observer => {
        observer.next(true);
        observer.complete();
      });
    }
  }
   public getUserInfo() : User {
    return this.currentUser;
   }

  public logout() {
    return Observable.create(observer => {
      this.currentUser = null;
      observer.next(true);
      observer.complete();
    });
  }
}

login.ts

import { Component } from '@angular/core';
import { NavController, AlertController, LoadingController, Loading, IonicPage } from 'ionic-angular';
import { AuthServiceProvider } from '../providers/auth-service/auth-service';

@IonicPage()
@Component({
  selector: 'page-login',
  templateUrl: 'login.html',  
})
export class LoginPage {
  loading: Loading;
  registerCredentials = { email: '', password: '' };

  constructor(private nav: NavController, private auth: AuthServiceProvider, private alertCtrl: AlertController, private loadingCtrl: LoadingController) { }

  public createAccount() {
    this.nav.push('RegisterPage');
  }

  public login() {
    this.showLoading()
    this.auth.login(this.registerCredentials).subscribe(allowed => {
      if (allowed) {        
        this.nav.setRoot('HomePage');
      } else {
        this.showError("Access Denied");
      }
    },
      error => {
        this.showError(error);
      });
  }

  showLoading() {
    this.loading = this.loadingCtrl.create({
      content: 'Please wait...',
      dismissOnPageChange: true
    });
    this.loading.present();
  }

  showError(text) {
    this.loading.dismiss();

    let alert = this.alertCtrl.create({
      title: 'Fail',
      subTitle: text,
      buttons: ['OK']
    });
    alert.present(prompt);
  }
}

ScreenShot 程序结构:

ScreenShot Program structure:

推荐答案

从你的项目结构来看,你的 login.ts 在 login 文件夹中,而 login 文件夹在里面pages 文件夹.

From your project structure, your login.ts is inside login folder, and login folder is inside pages folder.

所以为了到达providers文件夹,你需要写

So in order to reach providers folder, you need to write

'../../providers/auth-service/auth-service'

这应该会将您从两个应该可以解决问题的文件夹中移出.

This should move you out of two folders which should solve the issue.

这篇关于离子找不到模块'../providers/auth-service/auth-service'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆