1、不支持Node:0.10,0.12,4,5版本
2、更换命名-@babel/xxx
3、移除以年份命名的presets,统一更换成@babel/preset-env
4、移除 ’Stage‘ presets,同时移除@babel/polyfill的default mport
5、TC39 proposal plugin will now be -proposal
instead of -transform
(将未正式的语言规范所用的插件加上-proposal-标识)
6、将@babel/core 包作为所有babel 包的提前依赖
7、新增 babel.config.js 配置文件
8、更快的编译速度
9、preset 和 plugin 提供 Options 配置,
{ "plugins": [
["pluginA", { + // options here + }],
]}
[@babel/preset-env,{"useBuiltIns: "usage"}]
10、"Pure" Annotation Support
11、TC39 Proposals Support
12、TypeScript Support (@babel/preset-typescript
)
13、JSX Fragment Support (<>
)
14、Babel Helpers Changes:
-
@babel/runtime 分离成 @babel/runtime And @babel/runtime-corejs2(前者包括 Babel's helper functions 后者包括polyfill functions (e.g.
Symbol
,Promise
) -
@babel/plugin-transform-runtime
and@babel/runtime
(as a dependency) 抽离重复使用的函数
15、动态引入Polyfill配置:
[@babel/preset-env,{"useBuiltIns: "usage"}]
Babel 7.4.0 (2019年3月份)
1、support for TypeScript 3.4,
2、@babel/preset-envand
@babel/transform-runtimenow support
core-js@3
有了core-js@3就不需要@babel/polyfill,@babel/polyfill包含core-js@2和regenerator-runtime这两个包
Babel 7.7.0 (2019年11月份)
1、support for TypeScript 3.7
2、includes new parser features like top-level await (await x()
, Stage 3) and Flow enum
declarations
4、Babel now understands three new configuration files: babel.config.json
, babel.config.cjs
and .babelrc.cjs
3、Babel 7.7.0 uses 20% less memory than 7.6.0.
参考资料:
https://www.babeljs.cn/blog/2019/03/19/7.4.0