"@babel/plugin-transform-runtime"配置
时间: 2023-06-26 11:07:12 浏览: 130
"@babel/plugin-transform-runtime"是一个Babel插件,它可以将Babel转换的ES6代码中的一些常用的辅助函数(例如Promise、async/await等)抽离出来,避免在每个文件中重复地引入这些函数,减小每个文件的体积,提高代码的复用性。
在使用"@babel/plugin-transform-runtime"时,需要先安装"@babel/runtime"模块,并在Babel配置文件中添加如下配置:
```json
{
"plugins": [
["@babel/plugin-transform-runtime", {
"corejs": 3
}]
]
}
```
其中,"corejs"选项用于指定需要使用的core-js版本。如果不指定,则默认使用core-js@2版本。如果你的项目中已经引入了core-js模块,则可以通过指定"corejs": false来禁用自动引入core-js模块。
相关问题
"@babel/plugin-transform-runtime",{ "corejs": 2 }是什么意思
这是Babel(一个JavaScript编译器)中的一个插件,它被用来将代码转换为运行时(runtime)模块,从而避免在每个使用到类似 Promise 或者 Object.assign 的代码中都插入重复的代码。在这种情况下,该插件会将代码转换为对于运行时模块的引用,从而减少代码的冗余。
其中的 `corejs` 选项是指定所需的 core-js 版本,也就是一个包含了 ECMAScript 标准库的 JavaScript 库。在这种情况下,`corejs: 2` 意味着要使用版本为 2 的 core-js 库。这个选项是必需的,因为某些 ES6/7/8 特性需要引入额外的 polyfill 来支持,而这些 polyfill 就包含在 core-js 库中。
@babel/runtime-corejs2与@babel/core与core-js怎么在.babelrc下配置
在`.babelrc`文件中,可以使用以下方式配置`@babel/runtime-corejs2`、`@babel/core`和`core-js`:
```json
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": 2
}
]
],
"plugins": [
"@babel/plugin-transform-runtime"
]
}
```
- `"presets": ["@babel/preset-env"]`:这表示使用`@babel/preset-env`预设来转换代码,它可以根据目标环境自动选择需要的插件和polyfills。
- `"useBuiltIns": "usage"`:这个选项告诉`@babel/preset-env`根据代码中使用的特性,自动添加所需的polyfills。默认值为`false`,可以设置为`entry`或`usage`。`entry`会在打包时将所有polyfills导入,无论是否使用,而`usage`则只会导入代码中实际使用的polyfills。
- `"corejs": 2`:这个选项告诉`@babel/preset-env`使用`core-js@2`来提供polyfills。
因为`@babel/plugin-transform-runtime`依赖于`@babel/runtime-corejs2`,所以在安装了这两个包之后,将`"@babel/plugin-transform-runtime"`添加到`"plugins"`中即可。
阅读全文