Javascript MVC路由和SPA路由的区别?

Javascript MVC路由和SPA路由的区别?,javascript,meteor,model-view-controller,reactjs,single-page-application,Javascript,Meteor,Model View Controller,Reactjs,Single Page Application,我知道MVC应用程序如何处理路由 (/foo/bar get)请求命中服务器 找到或未找到带有get方法的route/foo/bar,如果找到,则通过调用一个方法来处理请求,该方法为一个视图页提供服务,并填充相应的数据 客户端获得一个html文档,其中包含许多指向其他页面的链接 另一个链接是另一个程序,就像这个一样 然而,我一直在学习react+meteor pack,它是一个没有ssr(服务器端呈现)的SPA(单页应用程序)。让我困惑的最关键的部分是路线。假设我的水疗有3条不同的路线。(/

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


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

  • 然而,我一直在学习react+meteor pack,它是一个没有ssr(服务器端呈现)的SPA(单页应用程序)。让我困惑的最关键的部分是路线。假设我的水疗有3条不同的路线。(/),(/route2),(/route3)

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

  • 使用SPA,您通常(读:几乎总是)将服务器配置为提供相同的引导HTML/Javascript,而不管请求了哪个URL。对
    /route2
    的请求将得到与对
    /
    或任何其他URL的请求相同的HTML响应(除非您因特定原因有特定的异常)。SPA总是从相同的引导代码开始,检查当前浏览器的URL,然后根据需要动态加载内容。内容的加载方式和加载时间取决于特定的框架/代码/环境/配置,但确实,DOM的内容最终会被Javascript动态替换。

    感谢您的清晰解释,它完美地回答了我的第一个问题。所以我的其他问题也在讨论同样的问题,有没有一种方法可以部分地发送观点?正如您所说,如果服务器有一个入口点和一个引导,这怎么可能呢?我听说过webpack解决方案,但我不知道如何用webpack解决这个问题?只有服务器端解决方案是可以接受的,我想正如您刚才回答的那样。等等。我很困惑作为我解释的推论。。。不,您通常不会向初始请求发送“部分视图”。您可以并且应该将SPA视图模板分解为单独的文件,这些文件根据需要从服务器加载;每个模板都是“局部视图”。流星到底是什么我不知道,从来没用过。