我对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一起使用吗?我们如何确定哪个浏览器支持动态导入和代码拆分?答案 0 :(得分:1)
已弃用。如果要保持最新,请使用环境预设
作者注:
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