babel把es6转成es5后, 不知道从哪冒出个exports变量

新手上路,请多包涵

es6转成es5后,却不能在浏览器里直接运行。以下是 es6 代码:

import aaa from 'bbb';

function hellow () {}

export default hellow;

编译后是这个样子的:

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var _bbb = _interopRequireDefault(require("bbb"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function hellow() {}

var _default = hellow;
exports.default = _default;

注意这几行代码:

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

突然就冒出个exports对象,并对它进行修饰。那么这个exports对象从哪里来的呢?

阅读 2.3k
1 个回答

CommonJS

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题