鍍金池/ 問答/HTML5  Python  HTML/ Angular ionic3 報(bào)錯(cuò) 初級(jí)問題

Angular ionic3 報(bào)錯(cuò) 初級(jí)問題

問題找到了,非常低級(jí)。Login應(yīng)該寫成login。

報(bào)錯(cuò):rest.ts:15 Uncaught Error: Module build failed: Error: ENOENT: no such file or directory, open 'E:\Ionic3Demo\zh\src\pages\Login\Login.js'

1.在app.module.ts中:

頂部導(dǎo)入(如果將下面導(dǎo)入刪除,就沒有錯(cuò)了):
import { LoginPage } from '../pages/Login/Login';
declarations 和 entryComponents 中 加入:LoginPage

2.login.ts:(里面沒寫什么)

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';

@IonicPage()
@Component({
  selector: 'page-login',
  templateUrl: 'login.html',
})
export class LoginPage {
  constructor(public navCtrl: NavController, public navParams: NavParams) {
  }
  ionViewDidLoad() {
    console.log('ionViewDidLoad LoginPage');
  }
}

3.瀏覽器報(bào)錯(cuò)顯示在rest.ts中(如下截圖):
圖片描述
圖片描述

4.rest.ts中代碼如下:

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Http, Response } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';

@Injectable()
export class RestProvider {

  constructor(public http: HttpClient) {
    // console.log('Hello RestProvider Provider');
  }
  /**
  *@private
  *@param {string} url
  *@returns {Observable<string[]}
  *@memberof RestProvider
   */
  private getUrlReturn(url: string): Observable<string[]> {
    return this.http.get(url)
      .map(this.extractData)
      .catch(this.handleError);
  }

  private extractData(res: Response) {
    let body = res.json();
    return JSON.parse(body) || {};
  }

  private handleError(error: Response | any) {
    let errMsg: string;
    if (error instanceof Response) {
      const body = error.json() || '';
      const err = body.error || JSON.stringify(body);
      errMsg = `${error.status} - ${error.statusText || ''} ${err}`;
    } else {
      errMsg = error.message ? error.message : error.toString();
    }
    console.error(errMsg);
    return Observable.throw(errMsg);
  }

}
回答
編輯回答
放開她

你定義的是login.ts, 然后import的時(shí)候應(yīng)該寫
import { LoginPage } from '../pages/Login/login';

2017年5月11日 22:46
編輯回答
萌面人

你的 LoginPage 是懶加載的,假如你想把它當(dāng)做入口文件,需要?jiǎng)h除 @IonicPage(),并且刪除目錄下的 login.module.ts 文件,然后將 login.tsapp.module.ts 中導(dǎo)入 LoginPage

我開源了一個(gè)ionic項(xiàng)目 HW-basic,你可以看下,我明天就把那個(gè)登錄界面給集成進(jìn)去。

2018年6月28日 22:51