@babel/runtime
非官方测试版翻译
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
@babel/runtime 是一个包含 Babel 模块化运行时辅助函数的库。
安装
- npm
- Yarn
- pnpm
- Bun
npm install --save @babel/runtime
yarn add @babel/runtime
pnpm add @babel/runtime
bun add @babel/runtime
另请参阅:
@babel/runtime-corejs2。
用法
该库需作为运行时 dependency 与 Babel 插件 @babel/plugin-transform-runtime 配合使用。具体用法请查阅该插件的文档。
为什么需要它
Babel 有时会在输出代码中注入跨文件重复的辅助代码,这些代码具备复用潜力。
例如类转换(非松散模式):
JavaScript
class Circle {}
会转换为:
JavaScript
function _classCallCheck(instance, Constructor) {
//...
}
var Circle = function Circle() {
_classCallCheck(this, Circle);
};
这意味着每个包含类的文件都会重复生成 _classCallCheck 函数。
使用 @babel/plugin-transform-runtime 后,函数引用会被替换为 @babel/runtime 中的版本。
JavaScript
var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");
var Circle = function Circle() {
_classCallCheck(this, Circle);
};
@babel/runtime 本质上是以模块化方式封装这些函数实现的工具包。