3

我在这里遇到了与这篇文章非常相似的问题:如何将自定义路由中间件与 Sails.js 一起使用?(ExpressJS)

因为我希望所有非 ajax 请求(或所有带有前缀 /api 的路由)都加载相同的视图,而不管路由如何。我已经在该问题中实施了给定的答案,但遇到了一个问题,即任何未指定的路线都不需要该政策。

如果我要捕获所有路线以便调用策略,那么我的所有蓝图都将被覆盖。

理想情况下,我会在蓝图之后最后捕获所有路由,因为每个非 API 路由都应该发送到前端。

我在前端使用 angularjs,并希望 angular 处理所有非 API 路由。

我宁愿不使用 .htaccess 文件,因为我需要在初始加载时将会话信息放入页面中。

谢谢

4

1 回答 1

1

您的用例似乎与 HTTP 404 错误情况非常相似 - 您希望以相同的方式处理所有不满足 blueprint (可能还有route.js )路由的请求。

api/responses/notFound.js

* NOTE:
* If a request doesn't match any explicit routes (i.e. `config/routes.js`)
* or route blueprints (i.e. "shadow routes", Sails will call `res.notFound()`
* automatically.
*/

如果请求路径包含以下内容,您可以在此处使用特殊处理代码调用适当的视图/api

if (req.path.match('^/api')) {
  return res.view('your-view-here');
}
于 2014-11-11T07:48:53.023 回答