使用BabelJS导出默认变量

K..*_*K.. 0 javascript babeljs

我将Babel用于ES2015模块定义。

我有一个文件a.js

require('babel-core/register')({presets: ['es2015']})
require('./b')
Run Code Online (Sandbox Code Playgroud)

哪个需要文件 b.js

export default b = () => true
Run Code Online (Sandbox Code Playgroud)

Babel将其编译为

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});

exports.default = b = function Main() {
  return true;
};
Run Code Online (Sandbox Code Playgroud)

但是然后抛出一个错误:

ReferenceError: b is not defined
  at Object.<anonymous> (b.js:1:16)
Run Code Online (Sandbox Code Playgroud)

小智 5

我相信问题来自babel添加,strict mode因为您随后引用了一个未声明的变量。更改为:

const b = () => true
export default b;
Run Code Online (Sandbox Code Playgroud)

为我修复它。