迁移到Next.js

历经多次思想斗争,最终我将整个网站迁移到以Next.js为主的技术栈。

为什么要迁移到Next.js

根据Hello world文章中所述,我的网站之前完全是纯静态HTML驱动的。 这种方式在网站内容不多的时候还能接受,但是随着网站内容的增加,维护起来就越来越麻烦。每一个CSS样式的变动都会带来灾难式的维护体验。

很久之前,我就已经学过React.js,但出于复杂度控制,我没有把它用到我的网站上。但是随着网站内容的增加,我不得不考虑使用React.js来管理网站的内容。为了防止出现React.js项目选型的复杂度控制问题,我选择了Next.js。

迁移过程

看着自己的网站,然后仿造出一个一模一样的网站真是一种奇特的体验,至少在失去耐心之前。所以这一迁移过程持续了很长时间。Next.js 13的App Router还改变了原定的就地渲染Markdown计划,现在必须将文章内容单独做一个后端API,不过这增强了网站的可扩展性。

2024年4月13日补充:现在已经转向读取本地 Markdown 文章然后静态生成的方法了,想来以前还是 naive 了。有了后端,维护起来更麻烦了。

迁移中我还采用了Tailwind CSS技术,避免了以前纠结CSS类应该取什么名字的问题。

2024年4月13日补充:现在使用 CSS Module 技术。CSS Module 和 Tailwind CSS 相比互有优劣,但我认为 CSS Module 更加接近原汁原味的 CSS 编写方式。

迁移后的网站

整体上没有大的改动,只有一些细节上的修改。

对于中国大陆用户来说,网站的访问速度应该会变得更慢了😂,这是因为现在网站托管在Cloudflare Pages上。感谢Cloudflare提供的免费服务。

2024年4月13日补充:现在部署在 Vercel,仍然使用 CloudFlare 做 CDN(对国内来说依然是减速 😂)。

迁移到Next.js
https://www.sjdhome.com/blog/post/migrate-to-next-js/

本文作者
sjdhome
发布于
2023/10/20
修改于
2024/4/13
许可协议

转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!

#技术#碎碎念

评论区加载中…

由于需要连接 GitHub,中国大陆访客可能面临加载缓慢。