Babel 插件学习
2024-06-04
最近写了一个非常简单、但好玩的 babel 插件:删除同事的console.log
。原理很简单。先用 babel 找到console.log
,然后通过git blame
判断是不是自己的console.log
,不是则删掉。
完整代码在这里,代码就 50 多行,顺便记录一下 babel 插件开发的注意点。
babel 插件大概长这样:
function plugin() {
return {
pre() {},
visitor() {},
post() {},
};
}
插件在初始化时会执行一次,此时可以处理一些选项合并。babel 每处理一个文件时,都会执行 pre、post 和 visitor。