पाठ 17 / 31
Polyfills और Core-js
समझें कि केवल syntax transpilation पर्याप्त क्यों नहीं है और core-js polyfills जरूरत पर गायब runtime features कैसे जोड़ते हैं।
Polyfill बनाम transpile distinction
Transpilation syntax को convert करता है। Polyfills लापता functions को जोड़ते हैं: Promise, Array.prototype.includes(), Object.assign(), आदि। Legacy browser support के लिए दोनों की जरूरत है।
Core-js: मानक polyfill library
core-js सबसे complete polyfill library है। Babel केवल उन polyfills को inject कर सकता है जो आपके कोड को actually चाहिए useBuiltIns के साथ @babel/preset-env के through।
Polyfill injection को कॉन्फ़िगर करना
स्वचालित रूप से केवल आवश्यक polyfills को inject करने के लिए useBuiltIns: 'usage' का उपयोग करें। Core-js को पूरी तरह शामिल करने की तुलना में bundle size को कम करता है।
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": "3.32"
}
]
]
}