我需要你对node.js中路由的帮助。所有新创建的路由在本地工作正常,但在推送更改后不在远程服务器上。其他网址仍在使用。
以下是捕获404错误的中间件:
// All new routes fall here
app.all('*', function (req, res) {
res.status(404).json({
error: 'Not Found'
});
});
我可以确认我验证了所有配置文件,但我不知道为什么会这样。
有人可以向我解释一下吗?也许我错过了本地和远程之间的东西?
答案 0 :(得分:2)
name
您可以使用上述代码捕获404错误。
答案 1 :(得分:0)
我找到了一些类似的答案here,here,并在官方的Express页面中here
基本上,重定向404错误的最佳方法是执行以下操作:
app.use(function (req, res, next) {
res.status(404).send("Sorry can't find that!")
})
在顶部的链接中详细了解它。
希望对你有所帮助。
答案 2 :(得分:0)
如果您在服务器中进行了更改并且未重新启动nodejs,则可能。如果您使用PM2
尝试pm2 restart app_name
您可以使用pm2 start app.js --watch
让pm2主动监视文件中的任何更改并重新启动。
有关pm2 - http://pm2.keymetrics.io/docs/usage/quick-start/#usage
的更多信息答案 3 :(得分:0)
使用以下代码。它会起作用。
app.route('/*').get(function(req, res) {
res.status(404).send("page not found!")
});