@babel/runtime-corejs2
@babel/runtime-corejs2
是一个包含 Babel 模块化运行时帮助程序以及 core-js
版本 2 的库。
安装
- npm
- Yarn
- pnpm
npm install --save @babel/runtime-corejs2
yarn add @babel/runtime-corejs2
pnpm add @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
中的库函数替换 Promise
或 Symbol
之类的东西。
JavaScript
Promise;
变成
JavaScript
var _Promise = require("@babel/runtime-corejs2/core-js/promise.js");
此转换也适用于 Babel 的帮助程序。