100 - 《手撕源码 01:Astro》

发布于 2022年4月19日

Astro 是最近比较火的 0JS 框架。

工程化基于 pnpm + typescript + turbo + prettier+ changeset + esbuild,都是现时最流行的社区方案。pnpm 用于安装依赖和管理 monorepo;turbo 用于 monorepo 命令提速;changeset 用于生成 changelog;源码构建是 esbuild + tsc,esbuild 编译 src 目录到 dist,tsc 生成类型到 dist/types。

这部分有一些值得学习的点。1)scripts 目录独立成包,设置为 private,方便在子包中通过 @astro/scripts 直接调用;2)esbuild + tsc 的源码构建方案,在不需要类型时(比如 CI)速度会很快;3)产出的 npm 包是 type=module,面向未来,通过 exports 声明导出文件,通过 typesVersions 映射类型文件到产物。

配置部分。配置读取基于 https://github.com/natemoo-re/proload,50+ Star,通过插件支持 TypeScript 格式的配置文

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。