MVC路由和SPA路由之间的差异

Differences between MVC routing and SPA routing ?

本文关键字:路由 SPA MVC 之间      更新时间:2023-09-26

我知道MVC应用程序如何处理路由、


  1. (/foo/bar-get)请求命中服务器
  2. 找到或没有找到带有get方法的route/foo/bar,如果找到,route通过调用一个方法来处理请求,该方法为填充了相应数据的视图页提供服务
  3. 客户端得到一个html文档,其中包含许多指向其他页面的链接
  4. 另一个环节是另一个过程,就像这个过程一样

然而,我一直在学习react+meterpack,这是一个没有ssr(服务器端渲染)的SPA(单页应用程序)。让我感到困惑的最关键的部分是路线。假设我有三条不同的SPA路线。(/)、(/rout2)、(-rout3)

  1. (/route2)请求命中服务器。服务器提供什么服务?整个应用程序代码(/rout2)处于活动状态还是什么
  2. 假设我们在(/)路线上,点击了(/rout2)路线。那么现在发生了什么?react是否清空了#mainDıv,并将相关组件放在那里,从那里放入已经包含所有视图html作为组件的bundle.js
  3. 有没有一种方法可以只发送请求页面的html和js,在显示内容后,在后台获取其他页面的html或js,甚至没有客户端的感觉。这样,当另一条路由被击中时,只有数据会在线路上
  4. 最后,只在请求时发送相关页面的html-css-js,我不知道是否存在这样的技术,似乎缺乏SPA经验,但我不确定它是否会缺乏SPA经验。如果能解释一下如何处理这个问题,那就太好了

使用SPA,无论请求了哪个URL,您通常(阅读:几乎总是)都会将服务器配置为提供相同的引导HTML/Javascript。对/route2的请求将获得与对/或任何其他URL的请求相同的HTML响应(除非由于特定原因出现特定异常)。SPA总是从相同的引导程序代码开始,检查当前浏览器的URL,然后根据需要动态加载内容。具体如何加载该内容以及何时加载取决于特定的框架/代码/环境/配置,但是的,DOM的内容最终会被Javascript动态替换。