如何设置babelrc文件,为什么?

时间:2018-03-05 17:39:30

标签: reactjs webpack ecmascript-6 code-splitting dynamic-import

我对babel.rc配置文件有疑问。

我搜索了两个不同的配置文件示例。

{
  "presets": [["es2015", { "modules": false }]],
  "plugins": ["syntax-dynamic-import"]
}

{
  "presets": [
    [
      "env",
      {
        // leave imports as they are
        "modules": false
      }
    ]
  ],
  "plugins": [
    // support dynamic import syntax, but leave it unchanged
    "babel-plugin-syntax-dynamic-import"
  ]
}

我的问题是:

1)es2015预设和env预设有什么区别?

2)为什么我们需要模块选项是假的?我理解它 指示Babel不要尝试解析imports.But为什么我们需要它呢?

3)动态导入怎么样?为什么我们需要使用插件?模块之间是否有任何关系:false选项?

4)对于动态导入的浏览器支持怎么样?babel可以将它转换为ES5吗?动态导入和代码拆分可以与IE10或IE11一起使用吗?我们如何确定哪个浏览器支持动态导入和代码拆分?

1 个答案:

答案 0 :(得分:1)

广告1-babe-preset-es2015

  

已弃用。如果要保持最新,请使用环境预设

作者注:

  

Babel现在不再需要进行更多年度预设,而是有了更好的   建议您改用以下预设:npm install babel-preset-env   --save-dev。没有选项的preset-env可以将ES2015 +向下编译为ES5,就像将所有的presets一起使用一样,因此具有更大的未来   证明

广告2-将模块设置为false,以确保导入语句保持原样(与按要求进行编译相反)。例如:您可以这样做,以使Webpack能够静态分析我们的代码以产生更有效的捆绑软件。

广告3-允许解析import()。我不知道是否与模块选项有关。

广告4-'注意:动态import()在Chrome 63和Safari Technology Preview 24中可用'->来源:Dynamic imports