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