步骤1:全局安装babel-clinpmi-gbabel-cli步骤2:安装bel-preset-env、babel-runtime、babel-plugin-transform-runtimenpmibel-preset-envbabel-runtimebabel-plugin-transform-runtime--save-dev每一年,每个预设只编译当年批准的内容。而babel-preset-env相当于es2015、es2016、es2017及最新版本。(官方说明)babel可以编译几乎所有的现代js语法,但是API就不是这样了。例如:Promise、Set、Map等新对象,Object.assign、Object.entries等静态方法。所以社区有两种方案:一种是babel-polyfill,一种是babel-runtime+babel-plugin-transform-runtime。babel-polyfill的方法是污染所有全局对象。babel-runtime的方法是自己手动引入helper函数。有些人可能会奇怪为什么会有两个运行时插件。其实是有历史原因的:一开始只有babel-runtime插件,但是使用起来很不方便。在代码中直接引入helper函数意味着不能共享,导致最终打包文件中有很多重复的helper代码。因此,Babel开发了babel-plugin-transform-runtime。该模块会重写我们的代码,比如将Promise重写为_Promise(仅作为示例),然后引入_Promise辅助函数。这避免了重复打包代码和手动导入模块的痛苦。在使用@babel/plugin-transform-runtime之前需要先安装@babel/runtime,因为前者依赖于后者。第三步:配置.babelrc{"presets":["env"],"plugins":["transform-runtime"]}第四步:执行babel脚本babelxxx.js-oxxx.js
