@babel/preset-stage-2
非官方测试版翻译
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
阶段2的核心要点如下:
**阶段2:**草案
是什么? 这是规范内容的第一个版本。此时该特性极有可能最终被纳入标准。
要求是什么? 提案现在必须额外提供该特性的语法和语义的正式描述(使用ECMAScript规范的形式化语言)。描述应尽可能完整,但可包含待办事项和占位符。需要该特性的两个实验性实现,其中可以包含Babel等转译器中的实现。
后续如何? 此后预计仅会有增量式更改。
安装
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/preset-stage-2
yarn add --dev @babel/preset-stage-2
pnpm add --save-dev @babel/preset-stage-2
bun add --dev @babel/preset-stage-2
用法
通过配置文件(推荐)
babel.config.json
{
"presets": ["@babel/preset-stage-2"]
}
通过命令行
Shell
babel script.js --presets @babel/preset-stage-2
通过 Node API
JavaScript
require("@babel/core").transformSync("code", {
presets: ["@babel/preset-stage-2"]
});
配置选项
loose
boolean,默认值 false
为本预设中支持该功能的插件启用"松散"转换模式。
useBuiltIns
boolean,默认值 false
对于需要polyfill行为的插件,将直接使用原生内置功能而非尝试polyfill实现。
decoratorsLegacy
boolean,默认值 false
使用旧版(阶段1)装饰器的语法和行为。
您可以在此处阅读有关配置预设选项的更多信息
参考
- Axel Rauschmayer 所著《Exploring ES2016 and ES2017》中的章节:《TC39 的 ECMAScript 特性流程》