@babel/runtime-corejs2
@babel/runtime-corejs2 является библиотекой, содержащей модульные вспомогательные функции Babel runtime, а также версию 2 core-js.
Установка
- npm
- Yarn
- pnpm
npm install --save @babel/runtime-corejs2
yarn add @babel/runtime-corejs2
pnpm add @babel/runtime-corejs2
См. также:
@babel/runtime.
Использование
Это предназначено для использования в качестве среды выполнения dependency вместе с плагином Babel @babel/plugin-transform-runtime. Для использования ознакомьтесь с документацией этого пакета.
Почему
Иногда Babel может вставлять в выходной код одинаковый код, который можно повторно использовать.
Например, с преобразованием классов (без режима loose):
class A {}
преобразуется в:
function _classCallCheck(instance, Constructor) {
//...
}
var Circle = function Circle() {
_classCallCheck(this, Circle);
};
Это означает, что каждый файл, содержащий класс, будет иметь функцию _classCallCheck каждый раз.
С @babel/plugin-transform-runtime, он заменит ссылку на функцию на версию @babel/runtime-corejs2.
var _classCallCheck = require("@babel/runtime-corejs2/helpers/classCallCheck");
var Circle = function Circle() {
_classCallCheck(this, Circle);
};
@babel/runtime-corejs2 — это просто пакет, содержащий реализации функций в модульном виде.
Различия с @babel/runtime
Его можно использовать вместо полифилла для любых методов, не относящихся к экземплярам. Он заменит такие вещи, как Promise или Symbol на функции библиотеки в core-js.
Promise;
преобразуется в:
var _Promise = require("@babel/runtime-corejs2/core-js/promise.js");
Это преобразование также применяется к вспомогательным функциям Babel.
© 2014-present Sebastian McKenzie
Licensed under the MIT License.
https://babeljs.io/docs/babel-runtime-corejs2/