主要观点:2017 年作者展示了无需转译为 ES5 即可在生产环境部署 ES6+代码的技术,当时多数库作者无法使用。如今浏览器格局变化,IE11 已停止支持,文章探讨当前 web 上 ES5 的现状及生产环境编码的最佳实践。
关键信息:
- 多数打包工具和构建工具默认不再转译为 ES5,新工具甚至不支持 ES5。
- 许多流行 JavaScript 库已发布 ES6+语法,但多数开发者使用 Babel 转译时会排除
node_modules
目录,导致库作者仍需转译为 ES5。 - 对 10000 个最热门网站的调查显示,89%的网站有未转译的 ES6+语法,79%有 ES5 帮助代码,68%两者都有。
重要细节: - Babel 仍是最流行的转译工具,转译为 ES5 仍较常见。
- 流行库如 Lodash、React 为 ES5 仅,date-fns 等有 ES6+语法。
- 可通过查询 HTTP Archive 检测网站使用的转译相关辅助函数来了解 ES5 使用情况。
- 对于库作者,最佳目标是使用 Baseline 仅包含广泛可用的特性,可通过特定 Browserslist 查询配置构建系统。对于网站开发者,不应排除
node_modules
目录转译,应根据自身需求处理第三方库,且跨浏览器支持不能仅依赖构建工具。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。