沉默时JSHint具体

考虑下面的标准Expressfunction:

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一个特定的参数(上面的代码片段中的“下一个”)。

对于这个看似普遍的问题,我还没有看到明确的答案。 有任何想法吗?

谢谢!

在这种情况下,你可以做下面的事情

 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被定义但不被使用。

重要的是,这种抑制将被绑定到函数的范围。

是的,这是可能的!

如果你正在使用JSHint的默认设置,这个线程接受的答案也是你的答案: 有没有办法抑制一个给定的行的JSHint警告? 它显示如何使用注释来有条件地忽略在JSHint中引发的特定错误/警告。

如果您正在使用Gulp或Grunt等构build工具,则可以将其添加到插件任务configuration中的选项中。 例如,使用Grunt:请参阅https://github.com/gruntjs/grunt-contrib-jshint/blob/master/README.md上的“忽略特定警告”部分。

希望这可以帮助!