node.js - 当一个特定的时候沉默 JSHint

标签 node.js express jshint

考虑以下标准 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
        });
    });
}

显示以下警告:

'next' is defined but never used. - 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 被定义但未被使用。

重要的是,这种抑制将绑定(bind)到函数的范围内。

关于node.js - 当一个特定的时候沉默 JSHint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25595409/

相关文章:

node.js - Passport.js + Express.js 验证后将用户转发到原始目的地

javascript - Sublime Linter/ReferenceError : window is not defined?

javascript - 如果使用函数调用执行严格模式函数,则其 'this' 值将是未定义的

angularjs - 使用 Intellij 编辑 .js 文件会导致 Jshint 错误

node.js - npm 安装时 Google polymer 入门套件发出警告

node.js - 在 Cloud Functions for Firebase 中运行 Firestore 批处理

javascript - 无法读取未定义的属性 'includes'

javascript - SPA和SSO中无状态身份验证的性能(单点登录)

node.js - 在 Node.js api 中提供 JSON 响应时防止缓存

mysql - 我应该使用什么来验证使用nodejs登录的用户