चेतावनी को कैसे परिभाषित करें 'परिभाषित' को जेएसहिंट और रिक्जेस्ट का उपयोग करके परिभाषित नहीं किया गया है


108

मैं अपने प्रोजेक्ट में आवश्यकताएँ जेएमडी का उपयोग करता हूं। जब मैं अपने प्रोजेक्ट पर jshint चलाता हूं, तो यह त्रुटि की तरह फेंकता है

एएमडी लिपियों में

 'define' is not defined.

मोचा परीक्षण मामलों में

 'describe' is not defined.
 'it' is not defined.

इस चेतावनी को कैसे हटाएं?

जवाबों:


187

बस थोड़ा विस्तार करने के लिए, यहाँ .jshintrcमोचा के लिए एक सेटअप है:

{
  ....
  "globals"   : {
    /* MOCHA */
    "describe"   : false,
    "it"         : false,
    "before"     : false,
    "beforeEach" : false,
    "after"      : false,
    "afterEach"  : false
  }
}

से JSHint डॉक्स - झूठे (डिफ़ॉल्ट) का मतलब है चर रहा है केवल पढ़ने के लिए।

यदि आप केवल एक विशिष्ट फ़ाइल के लिए ग्लोबल्स को परिभाषित कर रहे हैं, तो आप यह कर सकते हैं:

/*global describe, it, before, beforeEach, after, afterEach */

41
हम प्रयोग कर सकते हैं {"mocha": true} 2.5.1+ github.com/jshint/jshint/issues/1330
gwokae

@bendytree क्या आप जानते हैं कि मैं इन नियमों को कुछ फाइलों / फ़ोल्डरों के लिए जोड़ सकता हूं जो वैश्विक नहीं हैं?
गोबलींस

@ गोबिंस बोहदन की टिप्पणी ऊपर। अपनी मोच टेस्ट फाइल की पहली पंक्ति के रूप में उस लाइन को जोड़ें और यह केवल उस फाइल के लिए नियम को लागू करेगा
इसहाक



8

इसे अपने .jshintrc में जोड़ें

"predef" : ["define"]   // Custom globals for requirejs

यकीन नहीं हो रहा है कि किसी ने इसे क्यों ठुकरा दिया। मैं अपनी परियोजनाओं में इसका बिल्कुल उपयोग कर रहा हूं और अन्य उत्तरों और कार्यों की तुलना में साफ-सुथरा हूं।
शीतल शाह

19
पूर्वनिर्धारित पदच्युत है, ग्लोबल्स का उपयोग करें
जोनाथन अज़ुले

@JonathanAzulay मुझे jshint.com/docs/options/#predef पर कोई भी पदावनति नोट नहीं मिला । मुझे लगता है कि ग्लोबल का उपयोग कस्टम ग्लोबल जावास्क्रिप्ट के लिए किया जा सकता है जैसे कि कोणीय, $, jQuery आदि और पूर्वनिर्धारित का उपयोग अंतर्निहित वैश्विक वस्तुओं जैसे खिड़की, दस्तावेज़, कंसोल आदि के लिए किया जा सकता है
अमितेश

6

पार्टी के लिए देर से, लेकिन अपने में इस विकल्प का उपयोग करें jshintrc:

"dojo": true

और आप लाल चेतावनी के बिना शांति से आराम करेंगे ...


6

यदि आप नोड js पर काम कर रहे हैं। अपनी फ़ाइल की शुरुआत में इन दो पंक्तियों को जोड़ें

/*jslint node: true */
"use strict";

यह सवाल JSHint के बारे में है ।
पॉइंटएयर्स


1

यदि आप वेबस्टॉर्म में जेएसहिंट को मोचा के साथ चलाने की कोशिश कर रहे हैं, जैसा कि मैं हूं:

WebStorm> प्राथमिकताएँ> भाषाएँ और रूपरेखाएँ> जावास्क्रिप्ट> कोड गुणवत्ता उपकरण> JSHint

नीचे "वातावरण" तक स्क्रॉल करें और सुनिश्चित करें कि आपने "मोचा" को सक्षम करने के लिए चेकबॉक्स का चयन किया है जो आपके लिए मोचा के लिए जेएसहिंट के लिए परिभाषाएं निर्धारित करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.