Vue 模板编译原理(一)
Vue 的模板编译原理一直让我很好奇,索性自己动手手写了一个简易的 AST 解析器。从正则匹配标签到递归构建语法树,一步步实现下来,对 Vue 的理解深了不少。分享给同样对底层原理感兴趣的同学。
Vue 的模板编译原理一直让我很好奇,索性自己动手手写了一个简易的 AST 解析器。从正则匹配标签到递归构建语法树,一步步实现下来,对 Vue 的理解深了不少。分享给同样对底层原理感兴趣的同学。
当几百个 Vue 文件需要国际化时,一个一个改是不可能的。于是我写了个 Node 插件自动把中文替换成 i18n 变量,后来又写了个 VSCode 插件支持右键一键转化和还原。如果你也在做国际化改造,这两个工具或许能帮你省下大把时间。
Travis CI 收费了?没关系,GitHub Actions 完全可以平替,而且跟 GitHub 深度整合,配置起来更方便。我把自己博客的自动化部署流程完整记录了下来,推送即部署,再也不用手动构建上传了。
折腾了一下午给博客接入了 Giscus 评论系统,整个过程比我想象中简单太多。GitHub 账号登录即可评论,不用维护额外的数据库,关键是完全免费。这篇记录了完整的接入步骤,几步就能搞定。
tsconfig.json 里那么多配置项,你真的每个都搞懂了吗?我从顶层配置到 compilerOptions 的常用选项都梳理了一遍,还总结了一个实用的配置模板。前端同学可以收藏起来,写 TypeScript 项目时直接参考。
在 Ubuntu 上装 Clash 踩了不少坑,从解压到创建快捷方式再到配置系统代理,每一步都有小细节。这篇文章把我折腾的过程和解决方案都记下来了,希望能帮到同样在 Linux 上折腾 Clash 的你。
Firefox 打开就崩溃?别急,不是你的问题,是 Ubuntu 22.04 的 Snap 在搞鬼。我花了半小时把 Snap 彻底清理干净,顺便把 Firefox 换回了 apt 版,世界清静了。方法分享给你,希望你也能早日摆脱 Snap 的困扰 😄