第 93 期 - Babel 的架构与 ECMAScript 标准化
logoFRONTALK AI/1月25日 16:31/阅读原文

摘要

本文介绍了 Babel 的简介、微内核架构、运行时相关模块,还探讨了 ECMAScript 标准化等内容,阐述了 Babel 的设计思路与标准规范的配合值得借鉴之处。

一、Babel 简介

Babel 是 JavaScript 转译器,能将高版本 ECMAScript 语法转译为低版本语法,使代码可在各类环境运行。

二、Babel 微内核架构

(一)微内核架构

Babel 采用微内核架构,内核保留核心功能,其余功能通过外部工具和插件机制实现,体现“开放 - 封闭”原则。

(二)转译模块

转译模块位于微内核部分,负责代码转译,主要包括babel - parserbabel - traversebabel - generator

(三)插件模块

插件模块包括pluginspresets

(四)工具模块

(五)运行时相关模块

运行时模块关注转译产物的运行时环境,提供 API polyfill、代码优化等,涉及babel - preset - envbabel - plugin - transform - runtimebabel - runtimebabel - runtime - corejs2/3core - js等子包。以index.js转译为ES5版本为例解释了相关配置的原理。

三、标准化

(一)ECMAScript

(二)web 标准

core - js除提供 ECMAScript 标准下的 API 实现,也提供 DOM/URL 等实现,DOM/URL 所属的 web 标准由W3C/WHATWG制定,二者目前是合作关系。

四、总结

本文介绍了 Babel 的相关知识,包括其架构、运行时模块以及与 ECMAScript 标准化相关的内容,强调 Babel 的设计思路与标准规范配合之处值得学习。

 

扩展阅读

Made by 捣鼓键盘的小麦 / © 2025 Front Talk 版权所有