快速app.all干扰API调用

时间:2014-08-03 12:58:33

标签: angularjs express

我正在构建一个MEAN应用程序,Angular正在处理客户端定义的任何路由,例如'/ profile','/ stream'等。

因为我在Angular中使用HTML5Mode,所以我必须将以下内容添加到我的快速配置中,以允许访问干净的URL并从浏览器URL栏输入:

app.all('/*', function (req, res, next) {
    res.sendfile('views/dashboard.html', { root: __dirname });
});

然而,这现在干扰了我的API,并且任何API调用都返回空白,因此,例如,如果我访问应返回当前用户详细信息的JSON响应的users / active / profile,浏览器会将您重定向到主页。

1 个答案:

答案 0 :(得分:2)

Express将按照您声明的顺序处理请求URL(路由),因为*是您将此代码移动到路径末尾所需的所有其他先前路由声明的例外:

  /** this needs to be your last route **/
    app.all('/*', function (req, res, next) {
        res.sendfile('views/dashboard.html', { root: __dirname });
    });