Babel 插件通关秘籍

作者介绍

某一线大厂某架构组前端工程师,公众号[神光的编程秘籍],维护公司的 builder 和 ide,对编译原理、前端工程化有一定的研究。

小册介绍

实战案例源码

babel 已经是前端领域的必备工具了,它可以让我们使用一些新的语法和 api,babel 会在编译的过程中转为目标环境的支持的语法并引入 polyfill。除此以外,babel 也提供了强大的插件机制,我们可以通过它暴露出的 api 来开发各种代码转换插件。

babel 是一种源码到源码的转换编译器,学习 babel 的原理的过程也会学到编译原理的一些知识。

除了作为转译工具外,babel 也经常用来做静态分析,分析代码,提取信息,然后用于生成文档、lint、type check 等,我们会用大量的实战案例,让你真正能够把 babel 的静态分析能力用起来。

实战部分包括:

自动国际化:自动完成代码的国际化,帮大家扩展下思路,你会发现 babel 原来还可以用来做一些对业务有意义的自动化的事情。

自动生成文档:自动生成 api 文档,不再需要手动去维护。

自动埋点:自动进行函数插桩,埋点是一种常见的函数插桩。

linter: 探索 eslint、stylelint 等 lint 工具的实现原理,能够手写各种检查插件。

type checker:实现简单的 ts 类型检查,会对 typescript 的类型检查的原理会有更深的理解。

压缩混淆:前端必用工具之一,探索它的实现原理,压缩怎么做,混淆怎么做,怎么用 babel 实现,开阔下思路。

js 解释器: AST 除了转译、静态分析外,还可以直接解释执行,学完这个案例可以知道解释器是怎么解释代码的。

模块遍历器:基于 babel 做模块的遍历,理解打包工具的依赖图构建原理。

手写 babel: 手写 babel 是为了加深对 babel 的理解,真正掌握 babel。

小册分为 babel 插件基础、babel 插件进阶、babel 插件实战、手写简易的 babel 四部分内容:

Babel 插件通关秘籍_第1张图片

你会学到什么?

  • babel 的编译流程、AST、api
  • babel 插件和 preset 的方方面面
  • js parser 的历史
  • babel macros
  • babel 内置功能的实现思路
  • 实现一个 lint 工具
  • 实现一个 ts type checker
  • 自动埋点
  • 自动国际化
  • 自动生成文档
  • 压缩混淆的原理
  • 打包工具的模块依赖图是怎么生成的
  • 手写一个简易的 babel

适宜人群

  • 熟悉 js 语法,用过 babel
  • 想深入了解 babel 原理的前端开发者
  • 想入门编译原理的工程师

 

  回复1016,获取课程链接!  

你可能感兴趣的:(课程推荐,前端,javascript,typescript)