可以把 React 或 Vue 当成 jQuery 来用吗?

2017-05-31 22:09:55 +08:00
 cxh116

现在貌似用 React 和 Vue ,都做成后端只提供 API ,渲染和路由完全由前端处理.

个人想问的就是类似于资讯站,资讯详情页的资讯内容还是由后端生成 html 返回,但顶部的登录状态显示由 React 或 Vue 来处理.

服务端渲染和浏览器渲染的选择点在:

  1. 如果页面需要 SEO 友好,则由服务器渲染成 HTML 直接返回(内容页).
  2. 用户私有数据给浏览器渲染(登录状态,评论操作).

这样做感觉有个好处,就是内容页完全可以交给 CDN 缓存起来,只有用户私有数据才需要与 App Server 交互.

请问有人这样做过吗? 能谈谈心得吗?

3436 次点击
所在节点    问与答
7 条回复
SourceMan
2017-05-31 22:12:49 +08:00
不一样吧。。,
XiaoxiaoPu
2017-05-31 22:18:17 +08:00
React/Vue 代表的是 MV* 的架构模式,jQuery 是一工具型的 library,不是一个维度的
aaronlam
2017-05-31 22:22:48 +08:00
感觉一个二次元,一个三次元。
cxh116
2017-05-31 22:26:35 +08:00
@SourceMan
@XiaoxiaoPu

拿 V2EX 的帖子页来举例吧.
正文这部分直接由 python 服务端渲染成 html 返回给浏览器, 但右侧的登录状态,和下方的"加入收藏"等按钮用 react 或 vue 来做交互.

从"加入收藏"这个功能交互来说, 用 jQuery 来实现,有可能 js 逻辑代码与 html 视图分开太散,从而导致不好维护.
用 react 或 vue 来实现,直接写成组件, 逻辑与视图可以写在同一文件,从而方便维护.

如果这样做的话,帖子页还是 SEO 友好,但交互等功能都是用 react 或 vue 来实现.
mooncakejs
2017-05-31 22:30:57 +08:00
谈心得?刚完成 vue 全站改造的表示后悔,要 seo 就得 ssr,首屏渲染慢。如果页面交互不复杂,建议还是字符串模板。就算用 vue,用最简单部分就好,不要 vue router 之类全家桶。
XiaoxiaoPu
2017-05-31 22:34:42 +08:00
@cxh116
这样当然是可以的。按你的想法,你的问题其实是「 React/Vue 能不能跟后端渲染配合起来」,跟 jQuery 其实是没多大关系。

实际操作起来就是后端输出 HTML 时,渲染主体内容,然后引入纯前端的资源,注意后端渲染的部分跟前端渲染部分之间的布局就可以了。
murmur
2017-05-31 22:37:36 +08:00
jQuery+模板在页面逻辑简单的时候可以替代 vue/react,稍微复杂点后面的优势就看出来了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/365044

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX