Vai al contenuto principale

@babel/runtime-corejs2

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

@babel/runtime-corejs2 è una libreria che contiene gli helper runtime modulari di Babel insieme alla versione 2 di core-js.

Installazione

npm install --save @babel/runtime-corejs2

Vedi anche: @babel/runtime.

Utilizzo

È progettato per essere utilizzato come dependency runtime insieme al plugin Babel @babel/plugin-transform-runtime. Consultare la documentazione in quel pacchetto per le istruzioni d'uso.

Perché

Talvolta Babel potrebbe inserire nel codice generato degli elementi identici che potrebbero essere riutilizzati.

Ad esempio, con la trasformazione delle classi (senza la modalità loose):

JavaScript
class A {}

diventa:

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

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

ciò significa che ogni file contenente una classe avrebbe la funzione _classCallCheck ripetuta ogni volta.

Con @babel/plugin-transform-runtime, il riferimento alla funzione verrebbe sostituito con la versione di @babel/runtime-corejs2.

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

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

@babel/runtime-corejs2 è semplicemente il pacchetto che contiene le implementazioni delle funzioni in modo modulare.

Differenze rispetto a @babel/runtime

Può essere utilizzato al posto di un polyfill per metodi non di istanza. Sostituirà elementi come Promise o Symbol con le funzioni della libreria core-js.

JavaScript
Promise;

diventa:

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

Questa trasformazione si applica anche agli helper di Babel.