我正在尝试向ES添加导入/导出功能,因为它存在于ES6中。
我知道Babel可用于获取所有ES6功能,但我想看看是否有一种方法我可以使用Babel只添加导入/导出功能,如果是这样的话?
答案 0 :(得分:2)
是的,您可以使用transform-es2015-modules-commonjs
插件。
此插件将ES2015模块转换为CommonJS。
安装它:
npm install babel-plugin-transform-es2015-modules-commonjs --save
在.babelrc
:
{
"plugins": [
"transform-es2015-modules-commonjs"
]
}
如果您发现自己需要require
使用ES2015模块语法声明其导出的模块的默认导出,则必须执行以下操作:
var defaultExport = require('./es2015-module').default
要避免这种情况,请安装babel-plugin-add-module-exports
插件,然后更新.babelrc
:
npm install babel-plugin-add-module-exports --save
{
"plugins": [
"add-module-exports",
"transform-es2015-modules-commonjs"
]
}
______
要在您的应用程序中使用此Babel配置,请使用babel-register
require hook。
在您的应用程序的条目文件中,例如:
// index.js
require('babel-register')
require('./app.js')
然后开始使用ES2015模块语法:
// app.js
import something from './something'