预渲染与服务端渲染的区别

预渲染与服务端渲染的共同点: 都是多页面, 根据客户端的url 返回响应的文件。

不同点: 预渲染html文件的生成 在客户端 , 服务端则反之。

预渲染的缺点:

在这里我举一个例子更好的理解预渲染道德流程。

首先我们做的项目已经打包好了,根据不同的路由已经生成了不同的文件。

现在有A B C 三个路由文件 放在服务端。

客户点现在发送请求 需要A文件, 服务端收到请求后将A文件发送给客户端, 这时客户端做了一件这样的事情。生成了一个无头浏览器(可以理解成虚拟的浏览器), 执行A文件,A文件里面js文件生成DOM元素,然后获取内容等等,最终生成一个执行完html文件,在给到真正的浏览器去渲染, 这样浏览器拿到的html文件里面就是有内容有DOM结构的了。

但是在这个过程中有一个问题, 客户端发送需要A文件的请求时,携带了一个参数. 当服务端收到请求时, 就算携带参数服务端本身无法执行文件,更无法将 参数代入到文件中,只能把文件发给客户端。

结论就是 预渲染不能处理带有参数的路由。

服务端渲染就解决了这个问题。

服务端渲染是这样执行的. 当服务器收到客户端的请求时,会在服务端直接把文件执行完,生成最终的html文件,在发给客户端。 既然是服务端直接执行,那么收到的客户端参数也就可以放在文件中执行了。

那么我们试想一下预渲染到底怎么做才能解决参数的问题。

 预渲染的限制点在与 服务端不能执行文件, 那么服务端有参数怎样才能给到文件中呢,  方案:只要是预渲染的文件刚开始就写好某一个函数 可以引进某个文件获取外部的参数。  服务端做的就是把参数放进某个文件中。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值