前言
這里就和大家說一下core-js的開發者,也是網上查閱的資料,
core-js的作者:一位彪悍的俄羅斯程式員,名字叫丹尼斯·普什卡列夫(Denis Pushkarev),平時愛好就是飆摩托車,

并在一次事故中,他以 60 km/h的速度駕駛,結果撞了兩個行人,一人現場死亡,根據俄羅斯聯邦法律,他被判處有期徒刑 18 個月,剝奪 2 年駕駛權利,另處以罰金 138 萬盧布,

詳情地址:core-js作者入獄18個月,2600萬次周下載的開源專案如何進行下去? - IT之家當負責維護的程式員進了監獄,誰來繼續維護這個由自己所寫的JavaScript 標準庫https://www.ithome.com/0/480/137.htm
一、core-js到底是什么?
1. ECMAScript 的迅速成長以及瀏覽器的頻繁更新換代,每年會出現新的 api ,舉個例子 es6 時期誕生的 'Promise' ,'Set' 或者是 'es7' 陣列新提供的方法 'includes' ,這些新加入的 'api' ,就引出一個詞 "polyfill" 'polyfill(墊片/補丁)' 就是用社區上提供的一段代碼,讓我們在不兼容某些新特性的瀏覽器上,使用該新特性,新功能的es'api'轉換為大部分現代瀏覽器都可以支持運行的一個'api' 補丁包集合,
2. 因為官方庫對他介紹的形容
2.1. 它支持最新的 ECMAScript 標準
2.2. 它支持ECMAScript 標準庫提案
2.3. 它支持一些 WHATWG / W3C 標準(跨平臺或者 ECMAScript 相關)
2.4. 它最大限度的模塊化:你能僅僅加載你想要使用的功能
2.5. 它能夠不污染全域命名空間
2.6. 它和babel緊密集成:這能夠優化core-js的匯入
2.7. 它是最普遍、最流行 的給 JavaScript 標準庫打補丁的方式
二、core-js相關功能包.

詳情地址:https://github.com/zloirock/core-js/tree/master/packages
https://github.com/zloirock/core-js/tree/master/packages
在'corejs'的工程專案的 packages檔案中 中 'https://github.com/zloirock/core-js/tree/master/packages',能看到五個相關包
1.1. 'core-js' 安裝'npm install core-js' 作用'定義全域的polyfill'
1.2. 'core-js-pure' 安裝 'npm i core-js-pure' 作用'提供不污染全域環境的polyfill,等價于core-js@2/library'
1.3. 'core-js-compat'安裝'npm i core-js-compat' 作用維護了按照'browserslist'規范的墊片需求資料,來幫助我們找到'符合目標環境'的 'polyfills' 需求集合
1.4. 'core-js-builder' 安裝'npm i core-js-builder' 作用可以被 Node.js 服務使用,構建出不同場景的墊片包,
1.5.'core-js-builder' 安裝'npm i core-js-builder' 作用可以結合 'core-js-compact' 以及 'core-js',并利用 'webpack '能力, 根據需求打包出 core-js 代碼
三、如何使用?
1. 安裝 npm 方式
// global version
npm install --save core-js@3.18.3
// version without global namespace pollution
npm install --save core-js-pure@3.18.3
// bundled global version
npm install --save core-js-bundle@3.18.3
2. 按需匯入或者全域匯入
// 匯入所有新提案api
import "core-js";
// 唯一穩定的'core js'功能-es和web標準
import "core-js/stable";
// 僅支持穩定的ES功能
import "core-js/es";
// 只匯入指定api
import "core-js/features/set";
import "core-js/stable/set";
import "core-js/es/set";
3. 使用demo
主要是因為IE瀏覽器無法兼容新的語法、api,所以就需要用到core-js進行兼容性處理,從而解決問題,
// first file:
import 'core-js/modules/es.array.iterator';
import 'core-js/modules/es.object.to-string';
import 'core-js/modules/es.set';
var set = new Set([1, 2, 3]);
// second file:
import 'core-js/modules/es.array.of';
var array = Array.of(1, 2, 3);
更多詳情大家可以去GitHub參考:地址就在上方

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/336253.html
標籤:其他
