Sails.js - 更改路由顺序(蓝图后的自定义路由)

时间:2013-11-07 13:24:59

标签: express sails.js

我在这篇帖子中遇到了一个非常类似的问题:How to use custom route middleware with Sails.js? (ExpressJS)

因为我想要所有非ajax请求(或具有前缀/ api的所有路由)加载相同的视图,无论路由如何。我已在该问题中实现了给定的答案,但遇到的问题是未针对任何未指定的路由调用该策略。

如果我要抓住所有路线以便调用该政策,我的所有蓝图都会被覆盖。

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

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

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

由于

1 个答案:

答案 0 :(得分:1)

您的用例似乎与HTTP 404错误情况非常相似 - 您希望所有不满足蓝图(可能还有 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');
}