nuxt官方教程里对于universal 和 spa 两种渲染模式render mode的区别,没有详细的说明,以至于在跟着官方教程新建nuxt项目的时候,一脸懵逼。如果让我凭感觉来选,我可能会选择spa模式,那就误入歧途了。

先放出正确答案: 选择universal
理由?:

可以这样武断的说,大部分人转用nuxt,是为了解决spa单页面应用非常不利于SEO的问题,而universal 和 spa 的区别也恰好就在于对seo的实现存在差异。

例如基于nuxt搭建的个人博客中,在生成的网站地图sitemap.xml文件中差异非常明显,如下图:

项目使用spa模式时:

项目选择Universal 模式时:

所以区别非常显而易见了,spa是单页的,所以只有一个入口文件,sitemap也就只有一个url,这将导致辛辛苦苦搭建的网站ssr服务端渲染,结果最多只能被搜索引擎收录一个页面而已。

而universal模式能够实现所有的路径都有被搜索引擎收录的可能性,相信这才是绝大部分人转为使用nuxt框架的最终目的。