你不需要告诉Babel目标要编译到ES5,而是选择必要的预设和插件来为你完成。例如,如果你使用es2015
预设,它将把ES6代码编译成兼容ES5的代码,你无需指定“目标”。
下面的指南将带领您使用Babel将ES6代码转换为可以在支持ES <= 5的环境中运行的代码。
0. Babel 5版本以后的API变化说明
在 Babel 6文档 中:
babel包不再存在。之前,它是整个编译器和所有转换加上一堆CLI工具,但这导致下载过大且有点令人困惑。现在我们将其拆分为两个单独的包:babel-cli和babel-core。
还有:
Babel 6没有任何默认转换,所以当您在文件上运行Babel时,它将只是将其打印回给您而没有任何更改。
______
1. 安装babel-cli
首先,按照文档中的步骤,您需要安装babel-cli
:
$ npm install babel-cli
2. 在.babelrc
文件中定义预设
第二步,您需要在.babelrc
(文档) 中明确定义您想要Babel使用的 预设(presets)。例如,对于ES6+特性,请使用env
预设。
...一个智能预设,允许您使用最新的JavaScript而不需要微观管理目标环境所需的语法转换(以及可选的浏览器polyfills)。
安装它:
npm install @babel/preset-env
然后在你的.babelrc
中声明它:
{
"presets": ["@babel/preset-env"]
}
注意: 如果您使用的是 Babel 7.x,建议使用“项目范围配置” (
babel.config.js
) (
文档),它可以“广泛应用,甚至允许插件和预设轻松地应用于 node_modules 中的文件或符号链接包中的文件”。
现在按照您的示例运行 babel
命令即可:
$> babel ./src/myclass.js --out-file ./out/app.js
或者,使用像webpack、rollup或browserify这样的打包工具,配合它们各自的Babel插件。
.babelrc
看起来怎么样? - madox2