考虑以下标准Express功能:
if (app.get('env') === 'development') {
app.use(function (err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
显示以下警告:
'下一个'已定义但从未使用过。 - W098
我知道我可以禁用所有警告,但这不是我想要的。我需要的是仅针对特定参数(在上面的代码段中的下一个')中沉默JSHint。
我还没有看到这个看似常见问题的明确答案。有什么想法吗?
谢谢!
答案 0 :(得分:3)
在这种情况下,您可以执行以下操作
if (app.get('env') === 'development') {
app.use(function (err, req, res, next) {
/*jshint unused: vars*/
var foo;
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
现在jshint
不会为next
而哭泣,但它仍然会警告foo
被定义但未被使用。
重要的是,此抑制将绑定到函数的范围。
答案 1 :(得分:1)
是的,这是可能的!
如果您使用的是JSHint的默认设置,那么此线程上接受的答案也是您的答案: Is there a way to suppress JSHint warning for one given line? 它显示了如何使用注释有条件地忽略在JSHint中抛出的特定错误/警告。
如果您使用的是Gulp或Grunt等构建工具,可以在插件的任务配置中将其添加到您的选项中。例如,与Grunt: 请参阅"忽略特定警告"在https://github.com/gruntjs/grunt-contrib-jshint/blob/master/README.md。
希望这有帮助!