内容提要
作者将博客引擎从Zola转换为Astro,Astro具备所需功能且得到技术影响者推荐。Astro开发体验好,但部署时遇到问题。Astro、Bun和PocketBase对技术堆栈重要,希望新系统创作更好内容。
延伸解读
从Zola迁移到Astro的权衡
作者使用Zola约三年,虽基本满意,但难以优雅整合React,且缺乏SSR和Shiki代码高亮等功能。Astro作为元框架满足了这些需求,且生成页面更简洁。迁移虽需时间适应新工具和工作流,但作者认为作为未来十年的基础值得投入。
部署中的内存陷阱与应对
在VPS上使用Node适配器构建时,因内存不足失败,尝试限制图片处理和实验性构建选项均无效。最终将本地构建的dist目录提交到git,服务器直接运行入口文件绕过构建。但环境变量在编译时读取,导致路径错误,需注意此限制。
Bun如何成为部署救星
当Node构建和部署陷入困境时,作者尝试Bun,仅用bun install和bunx --bun astro build两条命令便成功。Bun不仅速度快,资源效率也高,作者未来将优先使用Bun。但需注意Bun下import.meta.env等细节差异。
新架构与内容创作目标
新网站分为文章、评论和动态三部分。文章用MDX编写并由Astro生成,动态内容存于PocketBase并通过SSR渲染,评论也使用PocketBase API。作者希望这个结合Astro、Bun和PocketBase的系统能帮助创作更多更好的内容。
Q&A
为什么作者选择将博客引擎从Zola转换为Astro?
作者选择Astro是因为它具备所需的功能,并且得到了技术影响者的推荐。
Astro在开发体验上有什么优势?
Astro的开发体验良好,文档和GitHub问题提供了很多解决方案,帮助开发者解决问题。
在部署Astro时遇到了什么问题?
在部署过程中,作者遇到了内存不足的问题,导致构建失败。
Bun在新系统中扮演了什么角色?
Bun以其速度和资源效率成为未来的首选,帮助作者成功部署了新网站。
新网站的架构是怎样的?
新网站分为三部分:文章、评论和动态,文章使用MDX编写并由Astro生成。
作者对新系统的期望是什么?
作者希望新系统能够帮助创作更多更好的内容。