我正在为 Node.js 编写一些代码,目前正在使用 JSHint 检查我的代码。但是,当我使用该require
函数导入模块时,它会说:
“要求”未定义。
如何抑制警告?
"use strict";
var express = require('express');
var register = require('./routes/register');
默认情况下,jshint 不知道 node.js 全局变量,您需要通知它。
将此评论添加到顶部:
/* jshint node: true */
我们可以在 JSHint 的文件中设置node
为全局环境变量.jshintrc
此选项定义当您的代码在 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
不会再出现
您可以通过在文件中添加“require”来配置 JSHint .jshintrc
。例如:
{
"globals" : {
"require": false
}
}
或者您只能通过以下方式为每个特定文件定义全局变量:
/* global require */
有关如何配置 JSHint 的更多信息,请阅读JSHint 文档
我偶然发现了这个答案,并且无法在 VSCode 中使用任何东西。我得到了这个工作:
Preferences: Open Settings (JSON)
通过命令面板窗口 (Ctrl-Shift-P)打开 JSON 设置文件。将此部分添加到settings.json
文件中:
{
"jshint.options": {
"esversion": 8, // This gets rid of some other warnings
"node": true
}
}