Ember CLI和import ... as

时间:2014-10-01 09:20:09

标签: javascript ember.js ember-cli ecmascript-6

在ember CLI中使用以下代码:

import X from 'source';
X.doSomething();

但是,使用替代形式:

import {X as Y} from 'source';
Y.doSomething();

浏览器记录异常:

TypeError: Y is not defined

根据ES6 specs这应该有效。这种行为只是Ember CLI的限制,还是我的语法有问题?

1 个答案:

答案 0 :(得分:0)

我相信您的问题是您使用了错误的导入语法。您拥有的第一个代码段是导入默认导出,而第二个是使用命名导出。看看下面的代码:

// This
import X from 'source';
// is to this
import Y from 'source';
// as this
import { X } from 'source';
// is to this
import { X as Y } from 'source';

在您的情况下,您应该使用第二个表单,因为您有默认导出。您也可以执行以下操作,但为了便于阅读,我建议您不要这样做。

import { default as Y } from 'source';