标准答案

  1. 用真实用户数据和业务要求确定支持哪些浏览器、版本和设备。
  2. 语法兼容通常交给 Babel、SWC、esbuild 或框架构建配置。
  3. API 兼容需要按需引入 polyfill,例如 Promise、URL、Intl、fetch 等。
  4. CSS 兼容要关注 autoprefixer、fallback、@supports 和渐进增强。
  5. 兼容策略要进入测试矩阵,不能只靠开发机 Chrome 验证。

题目解析

兼容策略的第一步不是装 polyfill,而是确定支持范围。支持矩阵不同,构建目标、polyfill、CSS 策略和测试成本都会不同。

语法转译和 API polyfill 要分开看。代码能被旧浏览器解析,不代表运行时存在所需 API。

工程上要控制成本:现代浏览器用户不应该为少量旧环境下载大量不需要的兼容代码。

常见误区

  • 只配置语法转译,忘记运行时 API polyfill。
  • 无差别引入完整 polyfill,导致现代浏览器包体积膨胀。
  • 没有用真实用户数据决定支持矩阵。

作者信息