· 2 分钟
选型
开坑一周了,一个字还没写,全在选型。

对咯,这天气就该这么吃
选项
最开始列了三个候选:Hexo、Next.js、Astro。
Hexo 第一个排除。不是它不好,是我刚从里面出来,再回去未免太没出息了。
Next.js 考虑了挺久。生态好,教程多,React 写组件也熟。但问题是用不上那一堆中间件。装完依赖 node_modules 上一个G,dev 一下风扇嗡嗡转。鲁迅说,杀鸡焉用牛刀啊。
最后还是用了 Astro
Astro
谈谈Astro 吸引我的点。
默认零 JS。页面输出纯 HTML,需要交互的地方自己加脚本,不像 Next.js 那样默认带一坨 runtime。博客本来就是看文章的,快比什么都重要。
.astro 文件写起来舒服。上面是 HTML,下面用 --- 圈一块写 TypeScript,组件化但不强制 React 那套。对我这种 React 半吊子来说刚刚好。
content collections 就是好使啊我看。文章放 content/posts/ 目录下,Markdown 写,frontmatter 定义字段,Astro 帮做类型检查。比 Hexo 自己读目录自己解析elegant有感觉吗。
横跳
中间其实动摇过一次。
看到 Next.js 有个博客模板挺好看的,clone下来写了一圈了。冷静了一下决定还是不套模板的号。
还短暂考虑过 Hugo,因为听说它构建特别快。但 Hugo 用 Go 写的,模板语法又是自己一套。
落定
今天把 Astro 装上了,npm create astro@latest,选了最小化的模板,什么都没有,干干净净一个 index.astro。
跑了下 dev server,localhost:4321,一个 Hello World。
明天开始整点别的。
COMMENTS
留言