巴别塔构型
@babel/preset-env
有三种方法可以通过配置useBuiltIns参数来实现它。
1. "entry"
需要将Import 'core-js '添加到条目文件中。打包后,根据browserslist,导入的“core-js”将被所有与浏览器不兼容的polyfill替换。
[
预置' : [
['@babel/preset-env ',
{
使用内置' : '条目'
}
]
]
}
2. "useage"
根据目标浏览器和代码中使用的特性,根据需要引入polyfill,并需要填写另一个参数corejs。
{
预置' : [
['@babel/preset-env ',
{
useBuiltIns ' : '用法',
corejs': 3
}
]
]
}
Babel编译通常不包括node_modules,因此“使用usebuiltin”:“用法”存在风险,可能无法为依赖包添加必要的polyfill。
3. "false"(默认值)
此时不要在polyfill上操作。如果引入@babel/polyfill,则不管配置的浏览器兼容性如何,都会引入所有polyfill。
[
预置' : [
['@babel/preset-env ',
{
useBuiltIns ' :false
}
]
]
}
@babel/runtime + @babel/plugin-transform-runtime
@babel/runtime集成了语法转换中使用的所有辅助功能。
@ Babel/plugin-transform-runtime有三个函数,其中一个是在语法转换后自动移除inline helper函数(inline Babel helpers),代之以@ Babel/runtime/helper中的helper函数。
{
预置' : [
['@babel/preset-env']
],
插件' : [
[
@ babel/plugin-transform-runtime ',{ 0
corejs': 3
}
]
]
}
有几种方法可以指定执行环境browslist和browslist的配置,它们根据以下优先级使用:
@babel/preset-env中的目标
package.json中的Browserslist字段
Browserslistrc配置文件
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/117961.html