Javascript 在这种情况下,为什么要导入和导出babel Transbiles?

Javascript 在这种情况下,为什么要导入和导出babel Transbiles?,javascript,ecmascript-6,babeljs,es6-modules,Javascript,Ecmascript 6,Babeljs,Es6 Modules,我有这个babel.config.js: const预设=[ [ “@babel/env”, { 目标:{ 边缘:“17”, 火狐:“60”, 铬:“67”, 狩猎:“11.1”, }, useBuiltIns:“用法”, }, ], [“@babel/preset react”], ]; 如果上述所有目标都支持导入/导出,为什么它要将es6导入/导出 var\u styles=require(“@material ui/styles”); var_core=需要(“@material ui/

我有这个
babel.config.js

const预设=[
[
“@babel/env”,
{
目标:{
边缘:“17”,
火狐:“60”,
铬:“67”,
狩猎:“11.1”,
},
useBuiltIns:“用法”,
},
],
[“@babel/preset react”],
];
如果上述所有目标都支持导入/
导出
,为什么它要将es6导入/
导出

var\u styles=require(“@material ui/styles”);
var_core=需要(“@material ui/core”);
exports.default=\u default;

因为您需要明确地告诉Babel以ES模块为目标。它无法从目标浏览器列表中推断出这一点

看一下,这就是您如何将目标定位为支持esmodules的方式

"@babel/env",
  {
    "targets": {
      "esmodules": true
    }
  }
请注意:指定esmodules目标时,将忽略浏览器目标


添加
目标:{esmodules:true}
仍然会显示
导入
/
导出
。但是我尝试了中的
modules:false
,给出了正确的结果。而且,单个浏览器目标不会被
目标忽略。我认为esmodules=true
。仅属性
目标。浏览器
将被忽略。