我正在开发一个高度动态的网站,该网站有大约 10 个不同的页面(登录、注册、我的服务、我的个人资料等)。
我正在考虑使用 JavaScript 模板框架(例如 jquery-temp)并将所有页面存储在一个 html 文件中。用户交互将触发不同模板的交换/激活/隐藏。在服务器端,所有请求都通过rest/json 调用进行管理。我认为 html 将由 nginx 提供服务,而 json 调用将定向到 jetty (java)。
这是一种可行的方法吗?可能会出现什么问题?
谢谢
编辑 - 我知道该怎么做,我想知道这从长远来看是否会导致问题。
请您参考如下方法:
我最近一直在做类似的事情,而且效果很好。一些观察结果:
- 如果您希望不同的 View 具有可链接的网址,并维护历史记录,那么您需要比其他方式更加努力,以便浏览器后退/前进按钮可以正常工作。 (尽管你可能不关心这一点)
- 当用户第一次访问网站时,您会加载大量的前端页面 - 可能比拆分页面要慢。
- 网站缓存没有粒度;如果您更改网站某一页面上的一个字符,则需要重新加载整个内容。与如果您将页面溢出并随后更改其中一个页面相比,任何 HTTP 缓存对于其他页面来说仍然没问题。
- 通过 AJAX 切换模板可能会比标准页面加载提供的 UI 反馈稍微少一些,例如,如果连接速度很慢,单击常规链接至少会显示页面正在加载,而 AJAX 调用则会消失在后台。我不确定这是否适用于您的情况,因为听起来您将预加载所有 HTML,然后只需切换哪些位可见。同样,通过 AJAX 填充内容的页面在加载时可能会不太优雅地呈现。
- 显然 - 如果用户没有打开 javascript,那么你就完蛋了。我不确定是否有人关心这个,但我想这也可能会影响 SEO。
