2014-10-01 89 views
2

使用烬CLI下面的代码工作:灰烬CLI和进口......为

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

但是,在使用的另一种形式:

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

浏览器登录异常:

TypeError: Y is not defined 

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

回答

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';