2016-11-09 126 views
0

我试图导出我的应用程序,我运行离子运行android并失败。离子运行android失败

这是错误

C:\Users\adirz\myapps\sceSchedule>ionic run android 

Running 'run:before' npm script before run 
> [email protected] build C:\Users\adirz\myapps\sceSchedule 
> ionic-app-scripts build 
[02:17:30] ionic-app-scripts 0.0.41 
[02:17:30] build prod started ... 
[02:17:30] clean started ... 
[02:17:30] clean finished in 5 ms 
[02:17:30] copy started ... 
[02:17:30] ngc started ... 
[02:17:31] copy finished in 196 ms 
[02:17:31] lint started ... 
[02:17:32] tslint: C:/Users/adirz/myapps/sceSchedule/src/pages/courses-page/courses-page.ts, line: 5 

      Unused import: 'course' 
     L4: import {CoursesData} from "../../providers/courses-data"; 
     L5: import {course} from "../../models/Course"; 
[02:17:32] tslint: C:/Users/adirz/myapps/sceSchedule/src/pages/tabs/tabs.ts, line: 3 

      Unused import: 'HomePage' 
     L3: import { HomePage } from '../home/home'; 
     L4: import { AboutPage } from '../about/about'; 
[02:17:32] lint finished in 1.50 s 
[02:17:43] Error: Error at C:/Users/adirz/myapps/sceSchedule/.tmp/pages/courses-page/courses-page.ngfactory.ts:736:29 

[02:17:43] Supplied parameters do not match any signature of call target. 
[02:17:43] Error at C:/Users/adirz/myapps/sceSchedule/.tmp/pages/courses-page/courses-page.ngfactory.ts:761:29 
[02:17:43] Supplied parameters do not match any signature of call target. 

[02:17:43] ngc failed 

[02:17:43] ionic-app-script task: "build" 

[02:17:43] Error: Error 

这是我的课程,page.ts

import { Component } from '@angular/core'; 
import {NavController, LoadingController,AlertController} from 'ionic-angular'; 

import {CoursesData} from "../../providers/courses-data"; 
import {course} from "../../models/Course"; 

/* 
    Generated class for the CoursesPage page. 

    See http://ionicframework.com/docs/v2/components/#navigation for more info on 
    Ionic pages and navigation. 
*/ 
@Component({ 
    selector: 'page-courses-page', 
    templateUrl: 'courses-page.html' 
}) 
export class CoursesPage { 
    public semester: string = 'SemA'; 
// public coursesA: Array<any> = []; 
    public coursesB: Array<any> = []; 
    public coursesC:Array<any>=[]; 
    public department:any; 
    public courseSelect: string = ''; 
    public lectureSelect:string= ''; 
    public coursesNames:Array<any>=[]; 
    public LecturesNames:Array<any>=[]; 
    public LectureCourses:Array<any>=[]; 
    public loader = this.loadingCtrl.create({ 
    content: "Please wait...", 
    spinner: 'crescent' 

    }); 
    public data=null; 
    public coursesA:Array<any>=[]; 
    public coursesAD:Array<any>=[]; 
    public coursesChose:Array<any>=[]; 

    constructor(public navCtrl: NavController,private loadingCtrl: LoadingController,public coursesData:CoursesData,public alertCtrl: AlertController) { 

    } 


    ionViewWillEnter() { 
    this.loader.present(); 
     this.onSemChange(); 
    } 
    public getCourses(semester:any){ 
     this.courseSelect=''; 
     this.coursesNames=[]; 
     this.LecturesNames=[]; 
     this.coursesA=[]; 
     console.log(semester); 
    this.coursesData.LoadData(semester) 
     .subscribe(courseList=> { 
      courseList.forEach(course=>{ 
      var newCourse={ 
       id_course:course.id_course , 
       key_course:course.key_course, 
       course_name:course.course_name , 
       course_type:course.course_type , 
       start:course.start , 
       end:course.end , 
       point_course:course.point_course , 
       day:course.Day, 
       class:course.class, 
       lecture_name:course.lecture_name 
      } 
      this.coursesA.push(newCourse); 
      this.coursesNames.push(course.course_name); 
      this.LecturesNames.push(course.lecture_name); 
      }); 
      //this.courseSelect=this.coursesNames[0]; 
      this.coursesAD=this.coursesA; 
      this.coursesNames = this.coursesNames.filter(function(elem, index, self) { 
        return index == self.indexOf(elem); 
       }) 
       console.log(this.coursesA); 


       this.loader.dismiss(); 
       console.log(this.coursesNames); 
     // return this.coursesA; 

     },err=>{ 
      console.log(err); 
     }); 
    } 



    public onCourseChange(){ 
    console.log(this.courseSelect); 
    this.coursesA=this.coursesAD; 
    //getCourses(); 
    this.coursesChose=[]; 
    this.LecturesNames=[]; 
    for (let course of this.coursesA) { 
     if (course.course_name==this.courseSelect){ 
     this.coursesChose.push(course); 
     this.LecturesNames.push(course.lecture_name); 
     console.log(this.LecturesNames); 
     }  
    } 
    this.coursesA = this.coursesChose; 
    this.LecturesNames = this.LecturesNames.filter(function(elem, index, self) { 
        return index == self.indexOf(elem); 
       }) 
    console.log(this.LecturesNames); 
    console.log(this.coursesChose); 
    } 

    public onLectureChange(){ 
     this.coursesA=this.coursesAD; 
    //getCourses(); 
    this.LectureCourses=[]; 
    for (let course of this.coursesA) { 
     if (course.lecture_name==this.lectureSelect){ 
     this.LectureCourses.push(course); 
     } 
     this.coursesA = this.LectureCourses; 
    } 
    } 
    public addDep(){} 
    public onSemChange(){ 
    let semester=JSON.stringify({'semester':this.semester}); 
    console.log(semester); 
    this.getCourses(semester); 

    } 
} 

我删除tmp文件夹它说,仍然我有问题。 我试图关闭程序并重新启动和我还是有同样的问题

tmp文件夹

import { Component } from '@angular/core'; 
import {NavController, LoadingController,AlertController} from 'ionic-angular'; 

import {CoursesData} from "../../providers/courses-data"; 
import {course} from "../../models/Course"; 

/* 
    Generated class for the CoursesPage page. 

    See http://ionicframework.com/docs/v2/components/#navigation for more info on 
    Ionic pages and navigation. 
*/ 
@Component({ 
    selector: 'page-courses-page', 
    templateUrl: 'courses-page.html' 
}) 
export class CoursesPage { 
    public semester: string = 'SemA'; 
// public coursesA: Array<any> = []; 
    public coursesB: Array<any> = []; 
    public coursesC:Array<any>=[]; 
    public department:any; 
    public courseSelect: string = ''; 
    public lectureSelect:string= ''; 
    public coursesNames:Array<any>=[]; 
    public LecturesNames:Array<any>=[]; 
    public LectureCourses:Array<any>=[]; 
    public loader = this.loadingCtrl.create({ 
    content: "Please wait...", 
    spinner: 'crescent' 

    }); 
    public coursesA:Array<any>=[]; 
    public coursesAD:Array<any>=[]; 
    public coursesChose:Array<any>=[]; 

    constructor(public navCtrl: NavController,private loadingCtrl: LoadingController,public coursesData:CoursesData,public alertCtrl: AlertController) { 

    } 


    ionViewWillEnter() { 
    this.loader.present(); 
     this.onSemChange(); 
    } 
    public getCourses(semester:any){ 
     this.courseSelect=''; 
     this.coursesNames=[]; 
     this.LecturesNames=[]; 
     this.coursesA=[]; 
     console.log(semester); 
    this.coursesData.LoadData(semester) 
     .subscribe(courseList=> { 
      courseList.forEach(course=>{ 
      var newCourse={ 
       id_course:course.id_course , 
       key_course:course.key_course, 
       course_name:course.course_name , 
       course_type:course.course_type , 
       start:course.start , 
       end:course.end , 
       point_course:course.point_course , 
       day:course.Day, 
       class:course.class, 
       lecture_name:course.lecture_name 
      } 
      this.coursesA.push(newCourse); 
      this.coursesNames.push(course.course_name); 
      this.LecturesNames.push(course.lecture_name); 
      }); 
      //this.courseSelect=this.coursesNames[0]; 
      this.coursesAD=this.coursesA; 
      this.coursesNames = this.coursesNames.filter(function(elem, index, self) { 
        return index == self.indexOf(elem); 
       }) 
       console.log(this.coursesA); 


       this.loader.dismiss(); 
       console.log(this.coursesNames); 
     // return this.coursesA; 

     },err=>{ 
      console.log(err); 
     }); 
    } 



    public onCourseChange(){ 
    console.log(this.courseSelect); 
    this.coursesA=this.coursesAD; 
    //getCourses(); 
    this.coursesChose=[]; 
    this.LecturesNames=[]; 
    for (let course of this.coursesA) { 
     if (course.course_name==this.courseSelect){ 
     this.coursesChose.push(course); 
     this.LecturesNames.push(course.lecture_name); 
     console.log(this.LecturesNames); 
     }  
    } 
    this.coursesA = this.coursesChose; 
    this.LecturesNames = this.LecturesNames.filter(function(elem, index, self) { 
        return index == self.indexOf(elem); 
       }) 
    console.log(this.LecturesNames); 
    console.log(this.coursesChose); 
    } 

    public onLectureChange(){ 
     this.coursesA=this.coursesAD; 
    //getCourses(); 
    this.LectureCourses=[]; 
    for (let course of this.coursesA) { 
     if (course.lecture_name==this.lectureSelect){ 
     this.LectureCourses.push(course); 
     } 
     this.coursesA = this.LectureCourses; 
    } 
    } 
    public addDep(){} 
    public onSemChange(){ 
    let semester=JSON.stringify({'semester':this.semester}); 
    console.log(semester); 
    this.getCourses(semester); 

    } 
} 

761:29我真的没有,但29行,我有

line public loader = this.loadingCtrl.create({ 
    content: "Please wait...", 
    spinner: 'crescent' 

    }); 
+0

你能从'/.tmp/pages/courses-page/courses-page.ngfactory.ts:736发布相关线路:29'? –

+0

当然。我没有736,但我添加了我的文章,你可以看到我放了 –

+0

736:29意味着错误是在行736,字符29.但错误是不是在你的courses-page.ts,它在课程-page.ngfactory.ts。这个文件是由angular 2编译器创建的,似乎有错误。如果您可以向我们展示来自生成的文件的相关行,这将有所帮助。 –

回答

2

作为一个临时解决方案,您可以编辑您的package.json文件和--dev标志添加到生成步骤。这将关闭AoT编译器,您可以继续处理您的应用程序。

更换

"build": "ionic-app-scripts build"

"build": "ionic-app-scripts build --dev"

+0

谢谢!有用!!!!!但这是最好的方法?你说这是临时解决方案。 –

+0

是的,这只是一个临时解决方案。当您构建应用程序时,角度2编译器优化您的代码,使其运行速度更快。例如,编译器有时会发现使用'ionic serve'时看不到的其他错误。所以你应该只使用--dev标志,直到找到导致错误的原因。 –

+0

谢谢你,你解决了我的问题!!!!! –

1

尝试在您的课程页中添加addDep,因为错误提示addDep缺失。

[20:33:25] Property 'addDep' does not exist on type 'CoursesPage'. 
    [20:33:25] Error at C:/Users/adirz/myapps/sceSchedule/.tmp/pages/courses-page/courses-page.ngfactory.ts:889:42 
    [20:33:25] Property 'addDep' does not exist on type 'CoursesPage'. 
+0

谢谢,这是我的错。 –

+0

你能再次检查我的文章吗?它再次失败 –