问题很简单,但在找到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 already redeemed.
无效。
这甚至可能吗?显然这只适用于生产环境。
答案 0 :(得分:2)
您需要将NODE_ENV设置为生产以禁用堆栈跟踪,您可以将其更改为环境变量
set NODE_ENV=production
或者如果它不方便在.js本身中执行如下操作。
process.env.NODE_ENV = 'production';