babel-preset-env和stage-0令人困惑

时间:2018-01-10 03:40:04

标签: webpack babel

阶段代表实验性功能的状态? 什么是实验中的诱饵,它的任何链接/细节?

  "presets": [
   [ "env",{
    "modules": false,
    "targets": {
      "browsers": ["last 2 versions", "safari >= 7"]
    }
    }
  ],
    "stage-0",
    "react"
  ],
  "plugins": [
   [ "transform-runtime",{
    "helpers": false,
    "polyfill": false,
    "regenerator": true }
  ],
  ["transform-decorators-legacy"]
 ]
}

我应该在上面的配置中包含阶段0吗?

2 个答案:

答案 0 :(得分:0)

https://babeljs.io/docs/plugins/preset-stage-0/

您可以看到它还包括第1阶段,第2阶段和第3阶段。如果在项目中包含stage-1,它还将包括2和3(而不是0)。

您可以在我粘贴的链接和链接中看到每个阶段预设中包含的babel插件列表。

阶段0是最实验性的,通常不推荐,但我在几个项目中使用阶段1。我打算将来把它拿出来,只包含我的项目所需的特定插件,并且因为它不断变化而远离类装饰器。这个概念似乎是推荐的路径(从阅读babel-present-env问题等)

您的配置看起来是正确的。根据您打算使用的内容,尽可能进入最高阶段。你可以在不使用它的情况下离开,所以如果你想在一年内减少惊喜+那么试着在没有较低阶段的情况下完成任务。

答案 1 :(得分:0)

对于新的 babel7 关于预设 es2015 babel-preset-es2015-> babel-preset-env https://babeljs.io/docs/en/env 关于预设 stage-0 https://babeljs.io/docs/en/babel-preset-stage-0已弃用