มีวิธีระงับ JSHint คำเตือนสำหรับหนึ่งบรรทัดที่กำหนดหรือไม่


264

ฉันใช้เคส (แอปเดียว) ในแอปของฉันevalและฉันต้องการระงับการแจ้งเตือน JSHint สำหรับเคสนี้เท่านั้น

มีวิธีการที่จะบรรลุเป้าหมายนั้นหรือไม่? การกำหนดค่าความคิดเห็นมายากล ... ?

คำตอบ:


465

ใช่มีวิธี สองอันที่จริงแล้ว ในเดือนตุลาคม 2013 jshint ได้เพิ่มวิธีการละเว้นบล็อกของรหัสดังนี้:

// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
// Code here will be linted with JSHint.

คุณสามารถละเว้นบรรทัดเดียวที่มีความคิดเห็นต่อท้ายดังนี้:

ignoreThis(); // jshint ignore:line

สำหรับใครก็ตามที่พยายามรับปลั๊กอิน JSHint Sublime Text 2/3 ให้ทำงานคุณจะต้องอัพเกรด jshint โดยเฉพาะในโฟลเดอร์แพ็คเกจ ST (ฉันวิ่งเข้าไปหาสิ่งนี้โดยเฉพาะกับ JSHint Gutter)
Josh

7
เป็นไปได้หรือไม่ที่จะละเว้นข้อผิดพลาดเฉพาะเท่านั้น? เช่น. maxlen ในบรรทัดที่ระบุนั้นยังคงตรวจพบข้อผิดพลาดอื่น ๆ
Jürgen Paul

4
ขอบคุณพระเจ้าสำหรับ// jshint ignore:line- ทำงานได้ดีกับ;(function() { // jshint ignore:line
katy lavallee

4
ตัวเลือก "ละเว้น" เลิกใช้แล้วและฉันได้รับข้อผิดพลาด "ตัวเลือกที่ไม่ดี" โดยใช้เวอร์ชัน 0.9.9 ของคุณลักษณะการรวม JSHint ใน eclipse มีวิธีอื่นในการทำสิ่งเดียวกันหรือไม่?
MidnightJava

2
ฉันได้รับรอบbad option: 'ignore'โดยใช้ตัวเลือกเฉพาะสำหรับบรรทัดที่ฉันต้องการละเว้น ในกรณีของฉันฉันต้องการที่จะเพิกเฉยif (x == null)เพราะฉันต้องการที่จะให้เท่ากันมากกว่าเพียงโมฆะและใช้/* jshint eqnull:true */ในฟังก์ชั่นเดียวกับifการเงียบ JSHint
เนท

102

คำตอบ "ชั่วร้าย" ไม่ทำงานสำหรับฉัน ฉันใช้สิ่งที่แนะนำในหน้าเอกสารของ JSHints แทน หากคุณทราบคำเตือนที่ถูกโยนคุณสามารถปิดมันเพื่อบล็อกรหัส ตัวอย่างเช่นฉันใช้รหัสบุคคลที่สามที่ไม่ได้ใช้ฟังก์ชันตัวพิมพ์เล็กอูฐ แต่กฎ JSHint ของฉันต้องใช้ซึ่งนำไปสู่คำเตือน เพื่อเงียบฉันเขียน:

/*jshint -W106 */
save_state(id);
/*jshint +W106 */

15
และฉันจะทราบหมายเลขคำเตือนของฉันได้อย่างไร
11684

3
เมื่อคุณเรียกใช้ jshint และรับข้อผิดพลาดในขั้นต้นหมายเลขจะถูกรายงาน
โทลล์แมนซ์

5
โอ้ขอโทษ. ฉันลืมฉันออกความคิดเห็นจึงไม่ได้โพสต์อะไรหลังจากตรวจสอบเอกสารแล้ว คุณไม่จำเป็นต้องเพิ่ม--verboseคำสั่งเพื่อรับหมายเลขคำเตือน
11684

9
อีกวิธีหนึ่งคือคำตอบของคำถามที่เกี่ยวข้องนี้แสดงให้เห็นการตรวจสอบmessages.js ฉันพบว่ามันค่อนข้างมีประโยชน์เนื่องจากฉันใช้ WebStorm
Michael Jess

3
สามารถดูคำเตือนข้อผิดพลาดและข้อมูลทั้งหมดได้ที่นี่: github.com/jshint/jshint/blob/master/src/messages.js
Anderson Arboleya

37

ที่คุณสามารถดูในเอกสารของ JSHintคุณสามารถเปลี่ยนแปลงตัวเลือกต่อฟังก์ชั่นหรือต่อไฟล์ ในกรณีของคุณเพียงแค่ใส่ความคิดเห็นในไฟล์ของคุณหรือในตัวเครื่องที่ใช้eval:

/*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}

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