Skip to main content

@babel/runtime

@babel/runtime 是一个包含 Babel 模块化运行时助手的库。

¥@babel/runtime is a library that contains Babel modular runtime helpers.

安装

¥Installation

npm install --save @babel/runtime

也可以看看:@babel/runtime-corejs2

¥See also: @babel/runtime-corejs2.

用法

¥Usage

这意味着与 Babel 插件 @babel/plugin-transform-runtime 一起用作运行时 dependency。请查看该软件包中的文档以了解使用情况。

¥This is meant to be used as a runtime dependency along with the Babel plugin @babel/plugin-transform-runtime. Please check out the documentation in that package for usage.

为什么

¥Why

有时 Babel 可能会在输出中注入一些跨文件相同的代码,因此可能会被重用。

¥Sometimes Babel may inject some code in the output that is the same across files, and thus can be potentially re-used.

例如,使用类变换(没有松散模式):

¥For example, with the class transform (without loose mode):

JavaScript
class Circle {}

变成:

¥turns into:

JavaScript
function _classCallCheck(instance, Constructor) {
//...
}

var Circle = function Circle() {
_classCallCheck(this, Circle);
};

这意味着每个包含类的文件每次都会重复 _classCallCheck 函数。

¥this means every file that contains a class would have the _classCallCheck function repeated each time.

对于 @babel/plugin-transform-runtime,它将替换对 @babel/runtime 版本的函数的引用。

¥With @babel/plugin-transform-runtime, it would replace the reference to the function to the @babel/runtime version.

JavaScript
var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");

var Circle = function Circle() {
_classCallCheck(this, Circle);
};

@babel/runtime 只是以模块化方式包含功能实现的包。

¥@babel/runtime is just the package that contains the implementations of the functions in a modular way.