Javascript es6 默认导出

Javascript Es6 default export

我只是想仔细检查一下,因为我正在尝试执行此 ES6 导出默认值:

var Member = function(){}
export {
    Member as default
 };

JShint 使用此语法(启用 es6)出错,但我认为它是有效的。 这真的无效吗?或者什么是使用导出语法

编写默认导出的有效方法?
 export {
    Member 
 };

我用这个作为参考:http://www.2ality.com/2014/09/es6-modules-final.html 他们给出的例子是:

//------ module1.js ------
export default 123;
//------ module2.js ------
const D = 123;
export { D as default };

为什么这个模块 2 的第 2 行有效? (或者是?)

(像往常一样)这是 jshint 的错。该行确实有效,ES6 Export syntax 允许使用任何 IdentifierName - 其中包括关键字 default - 作为 ExportClause.[=18= 的导出名称]

但是我不鼓励使用它。默认导出在 export default 符号中更容易编写和读取,例如

var Member = function() {};
export default Member;
// or
export default function Member() {}

诚然,export default Member; 并不完全等同于 export { Member as default },但除非您尝试重新分配它(您不是,对吗?)它没有什么不同。