วิธีปิดการใช้งานคำเตือน 'define' ไม่ได้กำหนดโดยใช้ JSHint และ RequireJS


108

ฉันใช้ RequireJS AMD ในโครงการของฉัน เมื่อฉันเรียกใช้ jshint ในโครงการของฉันมันจะแสดงข้อผิดพลาดเช่น

ใน AMD Scripts

 'define' is not defined.

ในกรณีทดสอบมอคค่า

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

จะลบคำเตือนนี้ใน jshint ได้อย่างไร?

คำตอบ:


187

เพื่อขยายความอีกเล็กน้อยนี่คือการ.jshintrcตั้งค่าสำหรับ Mocha:

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

จากJSHint Docs - เท็จ (ค่าเริ่มต้น) หมายถึงตัวแปรเป็นแบบอ่านอย่างเดียว

หากคุณกำลังกำหนด globals สำหรับไฟล์เฉพาะคุณสามารถทำได้:

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

41
เราสามารถใช้{"mocha": true} 2.5.1+ github.com/jshint/jshint/issues/1330
gwokae

@bendytree คุณรู้หรือไม่ว่าฉันสามารถเพิ่มกฎเหล่านี้สำหรับไฟล์ / โฟลเดอร์บางไฟล์ที่ไม่ใช่ส่วนกลางได้
Gobliins

ความคิดเห็นของ @Gobliins Bohdan ด้านบน เพิ่มบรรทัดนั้นเป็นบรรทัดแรกของไฟล์ทดสอบมอคค่าของคุณและจะบังคับใช้กฎสำหรับไฟล์นั้นเท่านั้น
Isaac



8

เพิ่มสิ่งนี้ใน. jshintrc ของคุณ

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

ไม่แน่ใจว่าเหตุใดจึงมีคนลงคะแนนนี้ ฉันใช้สิ่งนี้ในโครงการของฉันและสะอาดกว่าคำตอบและผลงานอื่น ๆ
Shital Shah

19
predef เลิกใช้แล้วใช้ globals
Jonathan Azulay

@JonathanAzulay ฉันไม่พบบันทึกการคัดค้านใด ๆ ที่jshint.com/docs/options/#predef ฉันคิดว่า Global สามารถใช้สำหรับ Global JavaScript ที่กำหนดเองเช่น angular, $, jQuery เป็นต้นและสามารถใช้ predef สำหรับวัตถุส่วนกลางโดยนัยเช่นหน้าต่างเอกสารคอนโซล ฯลฯ
Amitesh

6

ไปงานปาร์ตี้สาย แต่ใช้ตัวเลือกนี้ในjshintrc:

"dojo": true

และคุณจะพักผ่อนอย่างสงบโดยไม่มีคำเตือนสีแดง ...


6

หากคุณกำลังทำงานกับโหนด js เพิ่มสองบรรทัดนี้ที่จุดเริ่มต้นของไฟล์ของคุณ

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

คำถามนี้เป็นคำถามเกี่ยวกับJSHint
PointedEars


1

หากคุณกำลังพยายามเรียกใช้ JSHint ใน WebStorm ด้วย Mocha อย่างที่ฉันเป็นให้ไปที่:

WebStorm> ค่ากำหนด> ภาษาและกรอบงาน> JavaScript> เครื่องมือคุณภาพโค้ด> JSHint

เลื่อนลงไปที่ "สภาพแวดล้อม" และตรวจสอบให้แน่ใจว่าคุณได้เลือกช่องทำเครื่องหมายเพื่อเปิดใช้งาน "Mocha" ซึ่งจะตั้งค่าคำจำกัดความของ JSHint สำหรับ Mocha ให้กับคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.