百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
B

babel-plugin-add-module-exports

> 编程语言
开源

【v0.2 已不再维护】 修复 babel/babel#2212 - 为 babel@6 遵循 babel@5 的行为

722 stars0 点赞2 次浏览
访问官网GitHub

工具介绍

【v0.2 已不再维护】 修复 babel/babel#2212 - 为 babel@6 遵循 babel@5 的行为

babel-plugin-add-module-exports

为什么?

Babel@6 不再导出默认的 module.exports - T2212 消除 CommonJS 默认导出行为。 Babel@6 将以下文件转换为

javascript
export default 'foo'

into

javascript
'use strict';
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = 'foo';

因此,需要在 Node.js 中使用丑陋的 .default。

javascript
require('./bundle.js') // { default: 'foo' }
require('./bundle.js').default // 'foo'

此插件遵循 babel@5 的行为 - 如果仅存在 export default 声明,则添加 module.exports。

javascript
'use strict';
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = 'foo';
module.exports = exports['default'];

因此,我们的旧代码仍然运行正常 - .default 已经消失了。 :wink:

javascript
require('./bundle.js') // foo

用法

从 npm 安装此插件:

bash
npm install babel-plugin-add-module-exports --save-dev
# or
yarn add -D babel-plugin-add-module-exports

将名称写入 babelrc。它与 preset-env 一起使用,可输出 CommonJS 代码:

json
{
"presets": [["@babel/env", { "modules": "commonjs" }]],
"plugins": ["add-module-exports"]
}

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

JavaScriptbabel-plugin

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言