ionic 2 在编译简单项目时给出了意外的标记

ionic 2 giving unexpected token when compiling simple project

我正在尝试在 ionic 2 中实现一个表单,但我编写的框架代码有问题。当 运行 ionic serve 它在我的 form.js 文件中以下代码的第 8 行抛出错误 unexpected token

import {FormBuilder, Validators, formDirectives, ControlGroup} from 'angular2/common';

@Page({
  templateUrl: 'build/pages/photo/photo.html',
})
export class PhotoPage {

  constructor(form:FormBuilder){
    this.submitMediaItem = {};
    this.submitted = false;

    this.name = new Control('', Validators.required);
  }

您好,我之前遇到过同样的错误。您可以试试这个解决方案:

使用命令 ionic -v 检查您的 ionic 2 版本。很可能您使用的是较新版本的 ionic 2(我的是 2.0.0-beta.24)。

对于较早的 beta 版本,它使用 typescript,因此 form:FormBuilder 是有效的 typescript 但无效 javascript。较新的版本已经继续使用 babel JS,因此您需要这样做:

import {FormBuilder, Validators, formDirectives, ControlGroup} from 'angular2/common';

@Page({  
  templateUrl: 'build/pages/photo/photo.html'
})

export class PhotoPage {
    static get parameters(){
        return [FormBuilder];
    }

    constructor(form){
        this.form = form; //or how ever you would like to use it
        this.submitMediaItem = {};
        this.submitted = false;

        this.name = new Control('', Validators.required);
    }
}

要return多于1个参数,可以这样:

return [[FormBuilder],[navController]];

constructor(form, nav){...}

还有一个关于此错误的讨论线程:https://forum.ionicframework.com/t/cannot-resolve-all-parameters-error/44969/7

希望对您有所帮助!