webapps 的路由基础设施 - express

route infrastructure for webapps - express

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

根据我的理解,传统网页(VS 现代网络应用)提供特定路由,如 www.example.com/path1 来服务特定页面。让我们说在这条路线上可能有一些并行数据库查询 resource1, resource2.

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

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

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

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

GET /api/articles 列出所有文章

POST /api/articles 创建新文章

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

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

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

您也可以删除 JSON API 路由的 /api 前缀,并为您的客户端路由使用 URL 片段,看起来像这样:http://example.com/#!/articles/123。这是 mean.js 例如遵循的模式。

请注意,这不是做事的唯一方法,根据您的需要,它可能不是最好的方法。这些只是用于在 express.js.

中构建应用程序的常见模式