跳至主要内容

@babel/runtime-corejs2

@babel/runtime-corejs2 是一个包含 Babel 模块化运行时帮助程序以及 core-js 版本 2 的库。

安装

npm install --save @babel/runtime-corejs2

另请参阅:@babel/runtime

用法

这应该与 Babel 插件 @babel/plugin-transform-runtime 一起用作运行时 依赖项。请查看该软件包中的文档以了解用法。

原因

有时 Babel 可能会在输出中注入一些相同的代码,因此可以潜在地重复使用。

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

JavaScript
class A {}

变成

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

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

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

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

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

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

@babel/runtime-corejs2 只是一个以模块化方式包含函数实现的包。

@babel/runtime 的区别

这可以用来代替任何非实例方法的 polyfill。它将使用 core-js 中的库函数替换 PromiseSymbol 之类的东西。

JavaScript
Promise;

变成

JavaScript
var _Promise = require("@babel/runtime-corejs2/core-js/promise.js");

此转换也适用于 Babel 的帮助程序。