既然要服务端渲染,项目就不能是spa了,因为我的理解就是每个页面都要从服务端拿,所以一定是多页应用程序。
不过,我在搞一个nuxt的demo的时候,发现了很神奇的事情。跳转页面我用了nuxt路由里介绍的nuxt-link
,官方说和router-link
功能一致,我也百度了一下,那这个nuxt-link
就是局部刷新用的。
既然是局部刷新,那么html源文件是不会变的,但是我点了这个链接,页面应该是局部刷新了,因为我没看到浏览器有刷新提示,查看浏览器调试工具,发现确实是一个xhr
请求。
这时,我抱着试试看的心态查看了页面的源文件,卧槽,居然变了,这是什么原理?我又狂刷新了很多次,源文件真的会变,而且这的确是局部刷新。
我疯狂百度,但查不到什么,可能我不知道百度什么吧,不过,我看到有个帖子说,可以把nuxt-link
改成a
标签,我试了一下,页面没有问题,关键页面刷新了。
虽然我不知道nuxt-link
是如何做到改变源文件的(你们知道原理的话,麻烦告诉我一下),但用a
标签就没有这种疑惑了,因为和普通的多页程序一样,所有页面都是服务器返回的,seo也就没有问题。
2020-12-04留:我明白了,查看源码是要请求服务器的,这样就会拿到正确的源码。