ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

core-js@3 发布全解读:拆出 3 个新包,Babel 集成全面升级

core-js@3 发布全解读:拆出 3 个新包,Babel 集成全面升级 core-js3 发布全解读拆出 3 个新包Babel 集成全面升级【免费下载链接】core-jsStandard Library项目地址: https://gitcode.com/GitHub_Trending/co/core-jscore-js3 发布后整个 polyfill 生态polyfill即帮老浏览器补齐缺失的新 API随之翻新拆出 3 个独立 npm 包、重写模块命名规范与 Babel 的联动也做了系统性升级。如果你还停留在babel/polyfill时代这篇文章按老项目迁移、新功能选型、配合 Babel三个场景带你把 core-js polyfill 换到 core-js3。场景一老项目还在用 babel/polyfill先换掉它babel/polyfill本质上只是把稳定版 core-js 特性和regenerator-runtime负责给生成器、async 函数补运行时打包进一行 import。它如今已弃用兼容版本还停留在 core-js2。替换只需两行import core-js/stable; import regenerator-runtime/runtime;入口路径的读法也统一了core-js/stable只装稳定特性core-js/es只装稳定的 ES 特性core-js/proposals/xxx装某个提案命名规范同步调整稳定 ES 功能用es.前缀讨论中的提案用esnext.前缀看名字就能判断成熟度。场景二v2 到 v3一年半加了哪些东西稳定特性es. 前缀补全isConcatSpreadable、species符号Array.prototype.flat与flatMapES2018Object.fromEntriesES2019Symbol.prototype.description访问器ES2019提案特性esnext. 前缀globalThis、Promise.allSettled已升至 stage 4Promise.any、String.prototype.replaceAllstage 3Set 系列新方法stage 2集合新增方法、String.prototype.codePoints、lastItem/lastIndexstage 1Web 标准URL与URLSearchParams完整实现新增微任务标准方法queueMicrotaskDOM 集合补上.forEach 场景三三种 polyfill 策略怎么选对应 3 个包core-js全局版直接改原生对象约 500KBcore-js-pure模块化返回不污染全局命名空间core-js-bundle打包好的全局版拿来即用功能之外架构层面还做了一批减法删除过时和非标准功能全部用现代 ES 语法重写不再依赖 LiveScriptpolyfill 侵入等级可配置改原生改到什么程度由你定新增core-js-compat工具给定目标环境算出你需要的 polyfill 集合具体清单可查 使用文档 与 提案功能列表。场景四如何切换到 corejs: 3Babel 集成babel/preset-env侧有三处变化新增corejs选项默认值是 2需显式改成 3特性数据源从 compat-table 换成core-js-compatpolyfill 注入顺序重新排过配置大致长这样[babel/preset-env, { corejs: 3, useBuiltIns: usage }]两种useBuiltIns模式都有提升entry写import core-js/es加import core-js/proposals/set-methods会按目标环境裁剪成真正需要的模块usageBabel 7.4 起更可靠——检测更准、能按实际用到的语法注入加proposals选项还能带上提案特性babel/runtime一侧同步增强开始支持实例方法 polyfill通过babel/runtime-corejs3走 core-js-pure支持proposals选项引入提案功能修掉了 Symbol.iterator 提取等历史问题 升级前必做的 3 件事把babel/polyfill换成core-js/stableregenerator-runtime两行导入给babel/preset-env加上corejs: 3并确认useBuiltIns模式用core-js-compat核对目标环境再决定只引 stable 还是额外加 proposals建议把 Babel 一并升到 7.4 以上如果只关心打包体积优先选usage模式让 Babel 替你算出最小 polyfill 集合。【免费下载链接】core-jsStandard Library项目地址: https://gitcode.com/GitHub_Trending/co/core-js创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表