【v0.2 已不再维护】 修复 babel/babel#2212 - 为 babel@6 遵循 babel@5 的行为
【v0.2 已不再维护】 修复 babel/babel#2212 - 为 babel@6 遵循 babel@5 的行为
Babel@6 不再导出默认的 module.exports - T2212 消除 CommonJS 默认导出行为。
Babel@6 将以下文件转换为
export default 'foo'into
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = 'foo';因此,需要在 Node.js 中使用丑陋的 .default。
require('./bundle.js') // { default: 'foo' }
require('./bundle.js').default // 'foo'此插件遵循 babel@5 的行为 - 如果仅存在 export default 声明,则添加 module.exports。
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = 'foo';
module.exports = exports['default'];因此,我们的旧代码仍然运行正常 - .default 已经消失了。 :wink:
require('./bundle.js') // foo从 npm 安装此插件:
npm install babel-plugin-add-module-exports --save-dev
# or
yarn add -D babel-plugin-add-module-exports将名称写入 babelrc。它与 preset-env 一起使用,可输出 CommonJS 代码:
{
"presets": [["@babel/env", { "modules": "commonjs" }]],
"plugins": ["add-module-exports"]
}暂无开放 Issues,或尚未同步最近议题。