【问题标题】:route infrastructure for webapps - expresswebapps 的路由基础设施 - express
【发布时间】:2015-07-12 04:59:33
【问题描述】:

我对这个话题很陌生,所以如果这是一个明显的问题,请原谅。

根据我的理解,传统网页(VS 一种现代网络应用程序)提供特定的路由,例如 www.example.com/path1 来服务特定的页面。假设在这条路线上可能会有一些并行数据库查询到resource1resource2

现在在更现代的 web 应用中可能存在多个 ajax 调用。如果每个调用都请求www.example.com/path1,这会导致不必要的数据库流量,不是吗?

问题是如何为这种应用设置路由?

类似:www.example.com/resource1, www.example.com/resource2, ... 每个 ajax 调用都请求自己的特定路由?

【问题讨论】:

    标签: ajax http web-applications express


    【解决方案1】:

    快速应用的典型模式是将 HTML 模板作为静态资源提供服务,由用于 AJAX 调用的 JSON REST API 提供支持。例如,您可以有这样的结构:

    GET /api/articles列出所有文章

    POST /api/articles创建新文章

    GET /api/articles/{article_id} 获取特定文章

    ..等等。这些 API 将返回 JSON 数据,这些数据由在用户浏览器中运行客户端的 javascript 和 HTML 模板呈现。

    http://example.com/articles 发出的浏览器请求通常也只会返回一个基本的index.html 模板,而您的客户端javascript 将负责对/api/articles 进行适当的ajax 调用以获取实际数据。

    您还可以删除 JSON API 路由的 /api 前缀,而将 URL 片段用于客户端路由,如下所示:http://example.com/#!/articles/123。这是mean.js 遵循的模式。

    请注意,这不是唯一的做事方式,根据您的需要,它可能不是最好的方式。这些只是用于在 express.js 中构建应用程序的常见模式。

    【讨论】:

      猜你喜欢
      • 2016-04-26
      • 1970-01-01
      • 2023-03-20
      • 2011-06-19
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多