【问题标题】:Sails.js - Change routing order (custom routes after blueprints)Sails.js - 更改路由顺序(蓝图后的自定义路由)
【发布时间】:2013-11-07 13:24:58
【问题描述】:

我在这里遇到了与这篇文章非常相似的问题:How to use custom route middleware with Sails.js? (ExpressJS)

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

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

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

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

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

谢谢

【问题讨论】:

    标签: express sails.js


    【解决方案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');
    }
    

    【讨论】:

    • 这完全回答了我的问题!非常感谢!
    猜你喜欢
    • 2020-02-03
    • 1970-01-01
    • 2019-10-24
    • 2016-01-14
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多