ES6语法混淆了模块导出

时间:2016-02-03 17:54:38

标签: ecmascript-6

所有

当我用这篇文章研究ES6模块时,我对ES6很陌生:

http://www.2ality.com/2014/09/es6-modules-final.html

[1]

有一行:

export { each as forEach };

我想知道是否有人可以告诉我在哪里可以找到这种特定语法的用法介绍(尤其是大括号和AS

[2]

另一个混淆是关于默认导出:

cmod.js

export default var Obj={};
Obj.hello =  function(){
    return "hello";
}

main.js

import hello from "./cmod"
console.log(hello.hello());

我想知道为什么我会收到如下错误:

SyntaxError: cmod.js: Unexpected token (1:15)
> 1 | export default var Obj={};
    |                ^

但是,如果我将声明移到一个单独的行,如:

var Obj = {}
export default Obj;
Obj.hello =  function(){
    return "hello";
}

然后一切正常,为什么我不能声明变量并将其导出?

由于

1 个答案:

答案 0 :(得分:1)

[1] export { each as forEach };此行表示您可以将一个或多个项目导出为包含或不包含别名的对象。

示例1:

const MY_CONST = ...;
   function myFunc() {
    ...
}

export { MY_CONST, myFunc };

示例-2:

export { MY_CONST as THE_CONST, myFunc as theFunc };