【发布时间】:2017-08-31 10:27:15
【问题描述】:
有时当我创建基本的 Web 工具时,我会从 nodeJS 后端开始,通常使用 ExpressJS 创建一个 API 服务器。当某些路由被命中时,服务器通过使用连接的实时状态从 EJS 呈现 HTML 来响应,然后将其发送到浏览器。
此应用通常会为公共静态资源公开一个目录,并且也会为这些资源提供服务。我想这会给这种形式的网络应用程序带来很多开销,但我不确定。
其他时候我会从一个 API 开始(可能是完全相同的 nodeJS 结构,没有 HTML 渲染,只是状态管理和 API 暴露),我将构建一个 Angular2 或其他将连接到 API 的 HTML 网页,在加载时加载信息,并在页面中填充数据。
这些页面往往依赖于大量的 AJAX 调用和 jQuery,以便在触发一堆异步回调后刷新 angular 组件。在这种结构中,我将使用像 Apache 这样的 Web 服务器来提供所有文件并定义路由,而网页中的 JS 将完成剩下的工作。
两者的整体优势和劣势是什么?为什么我应该使用一种策略而不是另一种?它们是否可行并取决于规模和使用?我想负载均衡器的水平扩展可以在这两种情况下工作。
【问题讨论】:
标签: javascript jquery angularjs node.js ajax