Отключение предупреждения о функции require в JSHint

Я пишу код для Node.js и в настоящее время использую JSHint для проверки своего кода. Однако, когда я использую функцию require для импорта модулей, она говорит:

«требовать» не определено.

Как я могу подавить предупреждение?

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

person somesh    schedule 09.04.2013    source источник
comment
попробуйте поместить /*global require*/ в файл, который вы не хотите видеть, это сработало для меня   -  person cubbuk    schedule 12.12.2014


Ответы (4)


jshint не знает о глобальных переменных node.js по умолчанию, вам нужно сообщить об этом.

добавить этот комментарий в топ:

/* jshint node: true */

person generalhenry    schedule 09.04.2013
comment
Я уже добавил этот комментарий, но все еще у меня есть эта проблема. - person somesh; 09.04.2013
comment
Вы можете опубликовать свой комментарий к настройкам - person generalhenry; 09.04.2013
comment
/*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 , vars:true, es5: true, evil: true, nomen: true */ - person somesh; 09.04.2013
comment
Я проверял это на 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 */ - person generalhenry; 09.04.2013
comment
Просто чтобы уточнить, комментарий должен быть добавлен в начало файла .js. - person jlukanta; 06.07.2016

Мы можем установить node в качестве глобальной переменной окружения в файле .jshintrc JSHint.

Этот параметр определяет доступные глобальные переменные, когда ваш код выполняется внутри среды выполнения Node. Node.js — это серверная среда JavaScript, использующая асинхронную модель, управляемую событиями. Этот параметр также пропускает некоторые предупреждения, которые имеют смысл в среде браузера, но не имеют смысла в Node, такие как использование строгих прагм на уровне файлов и инструкции console.log.

Для получения дополнительной информации http://jshint.com/docs/options/#node

{
   "node": true
}

Такие ошибки, как 'require' is not defined, 'console' is not defined, 'module' is not defined, больше не будут отображаться.

person Sridhar    schedule 19.11.2015

Вы можете настроить JSHint, добавив «require» в файл .jshintrc. Например:

{
    "globals" : {
        "require": false
    }
}

Или вы можете определить глобальные переменные для конкретного файла только с помощью:

/* global require */

Дополнительные сведения о настройке JSHint см. в документации JSHint.

person Vlad Bezden    schedule 20.03.2014

Я наткнулся на этот ответ и ничего не смог заставить работать в VSCode. У меня это работает:

  1. Откройте файл настроек JSON с помощью Preferences: Open Settings (JSON) через окно палитры команд (Ctrl-Shift-P).
  2. Добавьте этот раздел в файл settings.json:

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

person jaredbaszler    schedule 24.02.2020