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

时间:2013-04-09 05:47:30

标签: node.js require jshint

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

  

'需要'没有定义。

如何取消警告?

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

4 个答案:

答案 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中工作。我得到了这个工作:

  1. 通过Preferences: Open Settings (JSON)通过命令面板窗口(Ctrl-Shift-P)打开JSON设置文件。
  2. 将此部分添加到settings.json文件中:

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