如何将不可变的js导入角度2(alpha)?

Eve*_*ert 4 javascript ecmascript-6 immutable.js angular

我试过了:

import {Component, Template, bootstrap} from 'angular2/angular2';
import {Immutable} from 'immutable/immutable';

@Component({
  selector: 'my-app'
})
@Template({
  inline: '<h1>Hello {{ name }}</h1>'
})

class MyAppComponent {
  constructor() {
    this.name = 'Alice';
    this.wishes = Immutable.List(['a dog', 'a balloon', 'and so much more']);
    console.log(this.wishes);
  }
}

bootstrap(MyAppComponent);
Run Code Online (Sandbox Code Playgroud)

但是然后Immutable最终被定义为未定义.然后我尝试了:

import {Component, Template, bootstrap} from 'angular2/angular2';
import {Immutable} from 'immutable/immutable';

@Component({
  selector: 'my-app'
})
@Template({
  inline: '<h1>Hello {{ name }}</h1>'
})

class MyAppComponent {
  constructor(im: Immutable) {
    this.name = 'Alice';
    this.wishes = im.List(['a dog', 'a balloon', 'and so much more']);
    console.log(this.wishes);
  }
}
Run Code Online (Sandbox Code Playgroud)

但后来我明白了Cannot resolve all parameters for MyAppComponent.任何人都可以帮我吗?是的,我已经添加了immutable文件夹System.paths.可能是不可变的,不能以ES6的方式导入吗?

Eve*_*ert 5

该死的,这是一个愚蠢的错误.我不得不改变

import {Immutable} from 'immutable/immutable';
Run Code Online (Sandbox Code Playgroud)

import Immutable from 'immutable/immutable';
Run Code Online (Sandbox Code Playgroud)

  • 如果你使用JSPM作为包管理器,你需要`'从*immutable'`导入*作为Immutable (2认同)