@ babel / preset-env字段中的“ modules:auto”是什么意思?

时间:2019-04-22 09:54:36

标签: javascript webpack babel babel-preset-env

babel文档说,模块的默认选项是auto,auto是什么意思?是否将“导入”转换为“需要”? “ modules:false”和“ modules:auto”之间有什么区别?看来它们是相同的结果;我正在学习摇树,当我没有为@ babel / preset-env设置任何选项时,摇树成功,当我设置“ modules:false”时,摇树也成功;

  "presets": [
    [
      "@babel/preset-react"
    ],
    [
      "@babel/preset-env",{"modules": "false"}
    ]
  ],

3 个答案:

答案 0 :(得分:0)

它允许将ES6模块语法转换为另一种模块类型。

参考:https://babeljs.io/docs/en/babel-preset-env#modules

答案 1 :(得分:0)

this拉取请求中似乎描述了 auto 的文档。根据该PR:

  

如果调用者已经支持ES6模块语法,则默认的auto将自动选择false,否则将选择"commonjs"

因此,如果支持ES6(这似乎是您的情况),则将模块设置为 auto ,与设置 false 相同。

答案 2 :(得分:0)

auto表示default value,默认值modulesfalse。请参阅-https://github.com/babel/babel/pull/8485/files#r236086742

enter image description here