@babel/preset-stage-2
从 Babel v7 开始,所有针对处于标准提案阶段的功能所编写的预设(stage preset)都已被弃用。 请查看 此篇博客文章 了解更多信息。
有关升级说明,请参与 这份 README。
The gist of Stage 2 is:
Stage 2: draft
What is it? A first version of what will be in the specification. At this point, an eventual inclusion of the feature in the standard is likely.
What’s required? The proposal must now additionally have a formal description of the syntax and semantics of the feature (using the formal language of the ECMAScript specification). The description should be as complete as possible, but can contain todos and placeholders. Two experimental implementations of the feature are needed, but one of them can be in a transpiler such as Babel.
What’s next? Only incremental changes are expected from now on.
Install
npm install --save-dev @babel/preset-stage-2
Usage
Via .babelrc
(Recommended)
.babelrc
{
"presets": ["@babel/preset-stage-2"]
}
Via CLI
babel script.js --presets @babel/preset-stage-2
Via Node API
require("@babel/core").transform("code", {
presets: ["@babel/preset-stage-2"]
});
Options
loose
boolean
, defaults to false
.
Enable "loose" transformations for any plugins in this preset that allow them.
useBuiltIns
boolean
, defaults to false
.
Will use the native built-in instead of trying to polyfill behavior for any plugins that require one.
decoratorsLegacy
boolean
, defaults to false
.
Use the legacy (stage 1) decorators syntax and behavior.
References
- Chapter "The TC39 process for ECMAScript features" in "Exploring ES2016 and ES2017" by Axel Rauschmayer