在 JSHint 中禁用有关“require”功能的警告

Posted

技术标签:

【中文标题】在 JSHint 中禁用有关“require”功能的警告【英文标题】:Disabling warning about "require" function in JSHint 【发布时间】:2013-03-31 10:13:12 【问题描述】:

我正在为 Node.js 编写一些代码,我目前正在使用 JSHint 来检查我的代码。但是,当我使用require 函数导入模块时,它会说:

'require' 未定义。

如何抑制警告?

"use strict";
var express = require('express');   
var register = require('./routes/register');

【问题讨论】:

尝试将 /*global require*/ 放到您不想看到的文件中,这对我有用 【参考方案1】:

jshint 默认不知道 node.js 全局变量,你需要通知它。

将此评论添加到顶部:

/* jshint node: true */

【讨论】:

我已经添加了该评论,但我仍然有这个问题。 你能发表你的设置评论吗 /*jshint 节点:true,按位:true,curly:true,forin:true,noarg:true,noempty:true,nonew:true,undef:true,strict:true,浏览器:true , node:true, asi:false, vars:true, es5: true, evil: true, nomen: true */ 我在 jshint.com 上查了一下,它抱怨 vars 作为一个选项,试试 /*jshint node: true, bitwise:true, curly:true, forin:true, noarg:true, noempty:true, nonew:true, undef:true, strict:true, browser:true, node:true, asi:false, es5: true, evil: true, nomen: true */ 为了澄清,注释应该添加到 .js 文件的顶部。【参考方案2】:

我们可以在JSHint的.jshintrc文件中设置node为全局环境变量

此选项定义当您的代码在 Node 运行时环境中运行时可用的全局变量。 Node.js 是一个使用异步事件驱动模型的服务器端 javascript 环境。此选项还会跳过一些在浏览器环境中有意义但在 Node 中没有意义的警告,例如文件级 use strict pragma 和 console.log 语句。

欲了解更多信息http://jshint.com/docs/options/#node


   "node": true

'require' is not defined'console' is not defined'module' is not defined 等错误将不再出现

【讨论】:

【参考方案3】:

您可以通过在.jshintrc 文件中添加“require”来配置 JSHint。例如:


    "globals" : 
        "require": false
    

或者您可以仅通过以下方式为每个特定文件定义全局变量:

/* global require */

有关如何配置 JSHint 的更多信息,请阅读JSHint Documentation

【讨论】:

【参考方案4】:

我偶然发现了这个答案,但无法在 VSCode 中使用任何东西。我得到了这个工作:

    通过命令面板窗口 (Ctrl-Shift-P) 使用 Preferences: Open Settings (JSON) 打开 JSON 设置文件。

    将此部分添加到settings.json 文件中:

    "jshint.options": "esversion": 8, // This gets rid of some other warnings "node": true

【讨论】:

以上是关于在 JSHint 中禁用有关“require”功能的警告的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用警告“定义”未使用 JSHint 和 RequireJS 定义

jsHint 配置参数小结

Webpack.config.js的配置

防止 JSHint 警告“功能名称已定义但从未使用”

使用严格会使 jshint 无法使用 [重复]

我的 Spring Boot 应用程序的 /health 端点正在发出有关在同一台机器上运行的 Consul 服务器的所有信息。如何禁用此功能?