Nuxtpress - Node.js 动态网站静态化之路

字数:1.2千字 | 发表于:2018年12月13日

相信 Hexo、Ghost、WordPress 等常见的开源内容框架对于很多人来说都不陌生。

1

看到这张简单的示意图,应该能够发现,传统的网站生成有两种方式:

  • 一种是类似于 Hexo,纯静态的,通过 markdown 编辑文章内容,然后执行命令生成静态网站;
  • 另一种是类似于 Ghost,纯动态的,通过管理后台编辑文章(存入数据库,如 MySQL),然后通过渲染器进行渲染,网站内容为动态的,需要在服务器上跑一个服务(程序)。

而 WordPress(PHP)之类的框架有一些天然的优势,就是能够很方便地生成出静态页面作为缓存。

当然,这样的方式建站,如企业的官网,显然是很不现代。因此,Node.js SSR(服务器端渲染)登上了历史舞台。然而服务器端渲染的性能瓶颈至今未有一个很好的解决方案(我们现在前端流行的框架基本上都会使用虚拟 Dom 或类似的方案,遍历虚拟 Dom 相较于模板渲染性能相差不是一个数量级)。