我正在为Node.js编写一些代码,而我目前正在使用JSHint来检查我的代码。但是,当我使用require
函数导入模块时,它会说:
'需要'没有定义。
如何取消警告?
"use strict";
var express = require('express');
var register = require('./routes/register');
答案 0 :(得分:80)
jshint默认情况下不知道node.js全局,你需要通知它。
将此评论添加到顶部:
/* jshint node: true */
答案 1 :(得分:56)
我们可以将node
设置为JSHint的.jshintrc
文件中的全局环境变量
此选项定义代码在Node运行时环境中运行时可用的全局变量。 Node.js是一个服务器端JavaScript环境,它使用异步事件驱动模型。此选项还会跳过一些在浏览器环境中有意义的警告,但在Node中没有意义,例如文件级使用strict pragma和console.log语句。
了解更多信息http://jshint.com/docs/options/#node
{
"node": true
}
'require' is not defined
,'console' is not defined
,'module' is not defined
等错误不再显示
答案 2 :(得分:6)
您可以通过向.jshintrc
文件添加“require”来配置JSHint。例如:
{
"globals" : {
"require": false
}
}
或者您只能通过以下方式为每个特定文件定义全局变量:
/* global require */
有关如何配置JSHint的更多信息,请阅读JSHint Documentation
答案 3 :(得分:0)
我偶然发现了这个答案,无法在VSCode中工作。我得到了这个工作:
Preferences: Open Settings (JSON)
通过命令面板窗口(Ctrl-Shift-P)打开JSON设置文件。将此部分添加到settings.json
文件中:
{
"jshint.options": {
"esversion": 8, // This gets rid of some other warnings
"node": true
}
}