客户端渲染和跳过服务器渲染的方法?

我想呈现我的页面客户端,以帮助保持负载closures服务器,并保持交通。 我知道,第一次调用服务器通常会导致服务器必须呈现请求的页面,然后将该页面发送给用户。 当用户与页面交互时,JavaScript接pipe路由,路由将请求发送到服务器以获得特定的视图,然后通过客户端上的javascript进行更新。

我在想这个方法是否存在,是否可行。

比方说,我想去的地址:

www.example.com/about 

是否有一种方法将/about作为参数附加到服务器的html页面/ javascript代码(与www.example.com/相同)。 当客户端准备好客户端时,它向服务器发送一个/about数据的请求,其中响应更新客户端的视图。 这将意味着完全跳过服务器端渲染。

还是我疯了?

不,你不是疯了。 这是大多数单页面应用程序(SPA)框架(如AngularJS)的工作方式。

例如,我通常为AngularJSconfiguration一个Web服务器的方式是拥有以下路由:

  • /pub/<relative_file_path>只提供/pub/<relative_file_path>指定的静态文件,如所有JS,HTML partials和CSS。
  • /api/<whatever>是客户端通过AJAX实时访问的所有端点
  • 其他的只是返回index.html ,这是一个静态文件,包含整个页面,引用JS,CSS和标记。

因此,当您访问www.example.com/about ,您将获得index.html页面,该页面告诉浏览器为整个应用程序下载JS,其中包括客户端路由configuration。 一旦应用程序启动,它会看到该位置是www.example.com/about ,并说:“我知道/about ,我会去那个页面!”。

当然,通过“进入该页面”,我的意思是“获取该页面的部分HTML,并通过AJAX获取任何数据”。 没有可见的页面刷新/更改发生。