Server-side rendering (SSR) is a design concept for full-stack web apps that provides a rendered page to the browser. The idea is that the page can be shown while the user waits for scripts to be downloaded and run.
同一个地址,当用户在 Url 中直接访问的时候,就直接 SSR 输出,当用户点击站内链接访问的时候,则正常 SPA 载入数据,SSR 这种代码设计的概念,就是为了满足这一需求,一套代码,实现两种载入方式,这个想法真的是挺美的~
Vue 有详细的 SSR 使用的文档:
https://ssr.vuejs.org/
Pre-rendering 的局限:
Pre-rendering 也是一种 SEO 问题的解决方案,但是局限也非常明显:
Some pages, like the front page of your site, will probably contain general content i.e. content that all users will view the same. But other pages, like admin pages, will contain user-specific content, for example a user’s name and birth date.
The limitation of PR is that it can’t be used for pages that contain such content. As I just said, the pre-rendered templates are only made once and can’t be customised. SSR does not have this limitation.
SSR 前后的比较:
传统模式 | SSR | |
---|---|---|
缺点 | SEO问题 | 增加了复杂度 |
代码运行环境 | 各种浏览器 | 服务器(V8) |
优化方向 | 文件合并压缩 | CPU内存使用 |
技术侧重 | 传统前端技术 | Node.js |
问题:
根据 SSR 的原来,PHP 是否可以做 SSR 呢?比如将所有前端路由所需要使用到的 ajax 接口提前配置好,然后 CURL 到数据后送给一个 ssrData 的对象,再通过 Vue 操作 ssrData 将数据导入到 Vuex 呢?
因为自己做的产品是工具类的,所以不特别具有 SSR 的需求,后续在实际运用的时候,会进一步的补充这篇文档