gpt4 book ai didi

node.js - Express 未捕获到 '/' 的请求

转载 作者:太空宇宙 更新时间:2023-11-04 02:32:37 26 4
gpt4 key购买 nike

我有一个非常奇怪的问题 - 不知何故,Express 没有捕获我对根路由的请求。

我的路线文件如下:

'use strict';

var errors = require('./components/errors');
var auth = require('./controllers/auth');
var ensureLoggedIn = require('connect-ensure-login').ensureLoggedIn;
module.exports = function(app) {

// Insert routes below

// All undefined asset or api routes should return a 404
app.route('/:url(api|auth|components|app|bower_components|assets)/*')
.get(errors[404]);

app.route('/login')
.get(auth.login)
.post(auth.loginUser);
app.route('/logout')
.get(auth.logout);
// All other routes should redirect to the index.html
app.route('/*')
.get(ensureLoggedIn('/login'), function(req, res) {
console.log("req to /");
res.sendfile(app.get('appPath') + '/index.html');
});

};

那么会发生什么:

  • 我请求“/”,它会直接将我发送到我的根目录,然后应用程序就会运行。异常(exception):它不需要我登录,而且日志输出也不会显示已发出任何请求。

  • 如果我请求“/users”(Angular Route),它会按预期将我重定向到“/login”,然后继续其路径。

知道什么会导致这种行为吗?

最佳答案

您是否使用 Express 公开任何静态资源?如果您是并且在公开资源后需要路线,则对“/”的请求将仅落在您的公共(public)文件夹中并且不执行任何操作。

这有帮助吗?你能发布你的server.js吗?

我之前遇到过这个问题,它让我发疯。

关于node.js - Express 未捕获到 '/' 的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com