gpt4 book ai didi

node.js - 处理 Nodejs 的任何错误并且不返回堆栈跟踪

转载 作者:太空宇宙 更新时间:2023-11-03 23:25:21 25 4
gpt4 key购买 nike

问题很简单,但我找不到在针对 Passport 进行测试时有效的解决方案。 .

假设我有一个回调路由,例如 https://localhost/auth/google/callback

现在,如果我在这里抛出垃圾参数,我会得到一个堆栈跟踪,然后显示目录结构等信息,这显然是不合适的。我不能盲目地依赖每条新路线来适本地处理错误。

如果 NodeJS 中出现任何错误,有什么方法可以禁用堆栈跟踪响应吗?

我尝试了以下方法:

app.use((err, req, res, next) => { 
if (! err) {
return next();
}

res.status(500);
res.send('500: Internal server error');
});

这对于在 PassportJS 中使用的 TokenError: Code was已经兑换。 不起作用。

这可能吗?显然这仅适用于生产环境。

最佳答案

您需要将 NODE_ENV 设置为 Production 来禁用堆栈跟踪,您可以将其更改为环境变量。

设置 NODE_ENV=生产

或者,如果不方便,可以在程序本身中执行此操作,如下所示:

process.env.NODE_ENV = 'production';

关于node.js - 处理 Nodejs 的任何错误并且不返回堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45046971/

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