Spec-Zone.ru › Babel 7

@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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API