为了账号安全,请及时绑定邮箱和手机立即绑定

vuejs的服务器端渲染和java的服务器端渲染有什么区别吗?

vuejs的服务器端渲染和java的服务器端渲染有什么区别吗?

月关宝盒 2019-05-22 16:29:42
在刚工作做java开发的时候,全都是服务器端渲染,从jsp到freemarker等,为什么vue/react要单独提出来这个概念呢? 与vue/react有关系吗?java的服务器端渲染以使用Spring为例, 就是写个Controller,然后return一个模板引擎页面, 同时需要往模板页面中的变量设置值vue的服务器端渲染看官网是结合Express这个web框架,原理也都差不多,官网是这样的 //第1步:创建一个Vue实例constVue=require('vue')constapp=newVue({template:`HelloWorld`}) //第2步:创建一个rendererconstrenderer=require('vue-server-renderer').createRenderer() //第3步:将Vue实例渲染为HTMLrenderer.renderToString(app,(err,html)=>{if(err)throwerrconsole.log(html)//=>HelloWorld}) 纯Express是这样app.get('/',function(req,res){res.render('index',{title:'Hey',message:'Hellothere!'});}); 我的理解是,js技术栈中服务器渲染用Express就已经足够了,为什么Vue,React还要单独开发一个SSR模块,实质不就是访问一个url,然后Server端直接返回一个页面吗?用java不行吗?模板中你想引入啥js框架不就这么写就ok了嘛?//template.tpl%>
查看完整描述

2 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

这要做到前后端同构,一套代码解决两端。用vue可以做到一个url进来,若是到了服务器端,服务端就把当前url对应的最终html给渲染出来,然后控制权就在浏览器端了,这时候跳转url全部由浏览器端控制,只向服务器端请求所需要的数据,服务器端不需要再继续渲染出最终的html了
                            
查看完整回答
反对 回复 2019-05-22
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

因为可以使用前端框架一些方案解决前端开发,但是渲染放在前端,搜索引擎是解析执行不了的你的那种方案,并不可行,这样load的页面返回本质上还是在前端渲染搜索引擎只认拿到的,并不关你会变成怎样。那么就简化成只要拿到处理后的html即可例如build出前端项目加一层渲染然后返回渲染后的文件例如ssr模块,牺牲一些东西。
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 1635 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信