core-js@3 完整迁移指南:告别 @babel/polyfill 的 5 步清单

发布时间:2026/9/5 17:59:48
core-js@3 完整迁移指南:告别 @babel/polyfill 的 5 步清单 core-js3 完整迁移指南告别 babel/polyfill 的 5 步清单【免费下载链接】core-jsStandard Library项目地址: https://gitcode.com/GitHub_Trending/co/core-js如果你的项目里还躺着babel/polyfill这行 import现在就该动手了。这个包已经弃用而它背后那套 polyfill 方案 core-js3 早就完成了换代模块化标准库、更干净的 Babel 集成都打包在这一版里。一句话认识 core-js3core-js3 是一套用 ES 语法重写的模块化 JS 标准库负责把新标准 API 补到旧环境里。它对开发者的意义在于只加载你需要的特性且可以不碰全局命名空间。哪些变化真正影响你按影响程度分三档来看。必须处理直接涉及构建配置的变更。babel/polyfill已弃用入口写法换成了core-js/stable配 regenerator-runtimebabel/preset-env里的corejs选项建议从 2 改成 3。这两处不改polyfill 链路就是断的。建议跟进新版补齐了一批稳定 API。Array.prototype.flat/flatMap、Object.fromEntries、Symbol.prototype.description以及 ES2015 补全的isConcatSpreadable和species。目标浏览器如果偏老这些能力直接可用不用再自己手写垫片。了解即可stage 提案和 Web 标准。globalThis、Promise.allSettled/Promise.any、String.prototype.replaceAll、Set 新方法union、intersection 这类仍在提案阶段Web 侧补了URL/URLSearchParams、queueMicrotask和 DOM 集合的forEach。不急着接知道它们存在即可。一个大包拆成了三个3.0 把代码库拆成三个子包各司其职包名定位污染全局core-js全局 polyfill完整入口约 500KB是core-js-pure等价实现按需 import否core-js-bundle打包后的全局版本方便直接引用是模块命名也规范了es.前缀是已定稿的稳定特性esnext.前缀是仍在讨论中的提案。目录结构可以看 packages/。侵入等级还可配置需要完整控制时可读 docs/ 中的 usage 章节。在 Babel 里落地只改这几处第一处替换旧入口两行搞定import core-js/stable; import regenerator-runtime/runtime;第二处babel/preset-env里加corejs选项。数据源已从 compat-table 换成了core-js-compatpolyfill 注入顺序也做了优化{ targets: defaults, useBuiltIns: usage, corejs: { version: 3.40 } }useBuiltIns: entry模式下你手写的大入口比如import core-js/es或某个proposals模块会被按 targets 裁剪只保留真正需要的模块useBuiltIns: usage模式则会扫描源码自动在用到某处语法的地方注入对应 polyfill。需要提案类 polyfill 时加一个proposals: true就行。注意corejs建议写具体小版本号而不是裸写 3否则小版本里新增的模块不会被注入。第三处babel/runtime。它现在支持实例方法 polyfill配corejs: 3后会把你代码里的标准库调用自动替换成 core-js-pure 的 import即core-js-pure 不污染全局的典型用法。preset-env 和 runtime 同时用时corejs选项只在一处配置避免冲突。迁移清单升级依赖到 core-js 3.x全局搜索babel/polyfill替换为core-js/stable加 regenerator-runtime 入口preset-env 设置corejs为具体小版本号按需选useBuiltIns: entry或usage需要提案 polyfill 时开启proposals选项用 core-js-compat 核对 targets确认没有漏网或多注入的模块core-js3 加上 Babel 7.4 的这套组合把 polyfill 从「手动搬运」变成了「按目标环境自动裁剪」。今天就可以把上面五步过一遍构建产物多半会瘦一圈。【免费下载链接】core-jsStandard Library项目地址: https://gitcode.com/GitHub_Trending/co/core-js创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考