2018-09-02 babel 7 发布,主要变更包括:
- 对那些已经不维护的 node 版本不予支持,包括 0.10、0.12、4、5(详情)
- Babel 团队会通过使用 “scoped” packages 的方式,来给自己的 babel package name 加上 @babel 命名空间(详情),这样以便于区分官方 package 以及 非官方 package,所以 babel-core 会变成 @babel/core
- 移除(并且停止发布)所有与 yearly 有关的 presets(preset-es2015 等)(详情)。@babel/preset-env 会取代这些 presets,这是因为 @babel/preset-env 囊括了所有 yearly presets 的功能,而且 @babel/preset-env,还具备了针对特定浏览器进行“因材施教”的能力
- 放弃 Stage presets(@babel/preset-stage-0 等),选择支持单个 proposal。相似的地方还有,会默认移除 @babel/polyfill 对 proposals 支持(详情)。
- 有些 package 已经换名字:所有 TC39 proposal plugin 的名字都已经变成以@babel/plugin-proposal 开头,替换之前的 @babel/plugin-transform(详情)。所以 @babel/plugin-transform-class-properties 变成 @babel/plugin-proposal-class-properties
- 针对一些用户会手动安装(user-facing)的 package(例如 babel-loader,@babel/cli 等),会给 @babel/core 加上 peerDependency(详情)
这对于一直纠结如何使 webpack更简单的我,是很大的福音!
具体大家可参考 www.w3ctech.com/topic/2150
webpack 的世界将越来越简单!