而要实现服务端渲染需要先搭建一个脚手架,你可以自己从零开始搭建脚手架,但这很麻烦。最简单的就是使用开源的框架,它们一般内置就封装好了脚手架,比如基于React的Next.js,和基于Vue的Nuxt.js。你也可以借助开源的脚手架比如Razzle来实现SSR渲染。Razzle是偶用过的比较好用的工具,因为它灵活。下面以React+Razzle为例,讲讲如何做SEO优化(本文的示例代码放在GitHub:github.com/liamwang/react-starter)。
首先,使用Razzle搭建脚手架,使用如下命令安装Razzle并运行它:
其实以上这样简单的一步,Razzle基本上就把大部分工作已经完成了。然后开始添加几个测试页面并配置Router路由。文件结构和路由配置如下图所示:
红色圈出来的部分是添加的几个示例页面,具体代码可以参照偶的GitHub源码。这就实现了一个简单的支持服务端渲染的网站,运行效果如下:
接着,编辑server.js实现自定义服务端渲染逻辑。打开server.js文件,你会发现工具已经帮你写好了基本的服务端渲染代码,但是你可能要根据需求进行自定义,比如自定义titile、meta标签。下面是一个示例:
为了利于SEO,你可以在这里任意自定义HTML头标签,比如标题和和关键字等。
最后,剩下的工作基本上就和你平时写React代码一样,比如Redux、Mobx、Sass等。
有不清楚的欢迎留言交流,希望偶的回答对你有帮助!