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

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

'require' 未定义。

如何抑制警告?

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

【问题讨论】:

  • 尝试将 /*global require*/ 放到您不想看到的文件中,这对我有用

标签: node.js require jshint


【解决方案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 中使用任何东西。我得到了这个工作:

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

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

      【讨论】:

        猜你喜欢
        • 2014-08-15
        • 2016-05-15
        • 1970-01-01
        • 2017-07-09
        • 2021-12-04
        • 1970-01-01
        • 1970-01-01
        • 2015-10-28
        • 2012-09-18
        相关资源
        最近更新 更多