节点js路由仅在本地工作

时间:2018-05-07 12:52:27

标签: node.js express

我需要你对node.js中路由的帮助。所有新创建的路由在本地工作正常,但在推送更改后不在远程服务器上。其他网址仍在使用。

以下是捕获404错误的中间件:

// All new routes fall here
app.all('*', function (req, res) {
    res.status(404).json({
        error: 'Not Found'
    });
});

我可以确认我验证了所有配置文件,但我不知道为什么会这样。

有人可以向我解释一下吗?也许我错过了本地和远程之间的东西?

4 个答案:

答案 0 :(得分:2)

name

您可以使用上述代码捕获404错误。

答案 1 :(得分:0)

我找到了一些类似的答案herehere,并在官方的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!")
    });