ตัวแปรส่วนกลางใน Javascript และ ESLint


104

ฉันมีไฟล์จาวาสคริปต์หลายไฟล์และฉันได้กำหนดตัวแปรส่วนกลางในไฟล์ที่โหลดก่อนไฟล์อื่น ๆ เป็นผลให้ไฟล์ทั้งหมดที่โหลดหลังจากครั้งแรกสามารถเข้าถึงตัวแปรส่วนกลางได้ อย่างไรก็ตาม ESLint แสดงตัวแปรส่วนกลางเป็น "ไม่ได้กำหนด" ฉันไม่ต้องการเปลี่ยนกฎของ ESLint และฉันต้องการหาวิธีที่สวยงามในการกำจัดข้อความแสดงข้อผิดพลาดเหล่านี้ เบาะแสใด ๆ ? ขอบคุณ


4
-> eslint.org/docs/user-guide/configuring#specifying-globals เอกสารของ ESLint เป็น IMO ที่ยอดเยี่ยมคุณควรดูที่
Felix Kling

คำตอบ:


116

ฉันไม่คิดว่าการแฮ็กกฎ ESLint ต่อไฟล์เป็นความคิดที่ดี

คุณค่อนข้างควรกำหนดglobalsในหรือ.eslintrcpackage.json

สำหรับ. eslintrc:

"globals": {
    "angular": true
}

สำหรับpackage.json:

"eslintConfig": {
    "globals": {
        "angular": true
    }
}

ปล

การอ่านเอกสารเป็นสิ่งจำเป็นสำหรับนักพัฒนา

https://eslint.org/docs/user-guide/configuring#specifying-globals


7
อาจเป็นที่น่าสังเกตว่าคุณตั้งค่าตัวแปรส่วนกลางเป็นtrueว่าคุณสามารถกำหนดตัวแปรให้เป็นอย่างอื่นfalseได้หรือไม่และไม่ควรกำหนดใหม่
RedSparr0w

7
การเชื่อมโยงเอกสารเป็นข้อดีที่ได้รับความนิยมมากในคำตอบของ stackoverflow
Romain G

@RomainG มีลิงค์ด้านล่างแล้ว;) แต่ฉันจะเพิ่มให้คุณ
v-andrew

91

คุณสามารถเพิ่ม globals ต่อไฟล์หรือใน config ของคุณ ถ้าไม่อยากเปลี่ยน config คุณจะต้องเพิ่ม globals ที่ใช้แล้วในทุกไฟล์

ในการระบุ globals โดยใช้ความคิดเห็นภายในไฟล์ JavaScript ของคุณให้ใช้รูปแบบต่อไปนี้:

/* global var1, var2 */

นี้กำหนดตัวแปรสองตัวทั่วโลกและvar1 var2หากคุณต้องการระบุทางเลือกว่าไม่ควรเขียนตัวแปรส่วนกลางเหล่านี้ถึง (อ่านอย่างเดียว) คุณสามารถตั้งค่าแต่ละตัวแปรด้วยแฟล็กเท็จ:

/* global var1:false, var2:false */

http://eslint.org/docs/2.0.0/user-guide/configuring#specifying-globals

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