使用BabelJS导出默认变量

Export default variable with BabelJS

本文关键字:默认 变量 BabelJS 使用      更新时间:2023-09-26

我使用Babel进行ES2015模块定义。

我有一个文件a.js:

require('babel-core/register')({presets: ['es2015']})
require('./b')

需要b.js 文件

export default b = () => true

Babel将其编译为

"use strict";
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = b = function Main() {
  return true;
};

但随后抛出一个错误:

ReferenceError: b is not defined
  at Object.<anonymous> (b.js:1:16)

我认为问题来自babel添加strict mode,因为您正在引用一个未声明的变量。更改为:

const b = () => true
export default b;

为我修复了它。

如果这是整个模块,并且没有全局b,那么这是运行时错误,所以这可能是第一个问题:

export default b = () => true