仅使用客户端模板和Rest调用的单个HTML站点

Ali*_*ehi 5 rest jquery templates json mustache

我正在一个高度动态的网站上工作,该网站有大约10个不同的页面(登录,注册,我的服务,我的个人资料等).

我正在考虑使用javascript模板框架(例如,jquery-temp)并将所有页面存储在一个单独的html文件中.用户交互将触发交换/激活/隐藏不同模板.在服务器端,所有请求都通过rest/json调用进行管理.我认为html将由nginx提供,而json调用将被定向到jetty(java).

这是一种可行的方法吗?会出现什么问题?

谢谢,

编辑 - 我知道如何做到这一点,我想知道从长远来看这是否会导致问题.

Tom*_*tie 2

我最近也在做类似的事情,而且效果还不错。一些观察结果:

  1. 如果您希望不同的视图具有可链接的 url,并维护历史记录,以便浏览器后退/前进按钮正常工作,您需要比其他方式更加努力。(尽管你可能不关心这一点)
  2. 当用户第一次访问该网站时,您会加载一个很大的前端页面 - 可能比拆分页面慢。
  3. 站点缓存没有粒度;如果您更改网站某一页面上的一个字符,则需要重新加载整个内容。与如果您将页面溢出并随后更改其中一个页面相比,任何 HTTP 缓存对于其他页面来说仍然没问题。
  4. 通过 AJAX 切换模板可能会给您带来比标准页面加载稍少的 UI 反馈,例如,如果连接速度很慢,单击常规链接至少会显示页面正在加载,而 AJAX 调用会在后台旋转。我不确定这是否适用于您的情况,因为听起来您将预加载所有 HTML,然后只需切换哪些位可见。类似地,通过 AJAX 填充内容的页面在加载时可能会不太优雅地呈现。
  5. 显然 - 如果用户没有打开 javascript,那么你就完蛋了。我不确定是否有人关心这个,但我想这也可能会影响搜索引擎优化。