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
。仅属性目标。浏览器将被忽略。