@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。它會將 Promise
或 Symbol
等內容替換為 core-js
中的函式庫函式。
JavaScript
Promise;
轉換為
JavaScript
var _Promise = require("@babel/runtime-corejs2/core-js/promise.js");
此轉換也套用於 Babel 的輔助函式。