ESLint มีกฎระเบียบมากและผู้ที่ได้รับการจัดรูปแบบที่เกี่ยวข้องกับความขัดแย้งอาจจะมีสวยเช่นarrow-parens
, space-before-function-paren
ฯลฯ ดังนั้นการใช้พวกเขาเข้าด้วยกันจะทำให้เกิดปัญหาบางอย่าง เครื่องมือต่อไปนี้ถูกสร้างขึ้นเพื่อใช้ ESLint และ Prettier ร่วมกัน
ฉันเขียนการเปรียบเทียบในรูปแบบตารางในส่วนสำคัญเนื่องจาก Stack Overflow ไม่รองรับการจัดรูปแบบตาราง ตรวจสอบว่าคุณชอบองค์กรมากกว่า
prettier-eslint
: รันprettier
แล้วรันeslint --fix
บนโค้ด eslint
โดยปกติจะมีการแก้ไขอัตโนมัติสำหรับการจัดรูปแบบกฎที่เกี่ยวข้องและeslint --fix
จะสามารถแก้ไขการจัดรูปแบบที่ขัดแย้งกันที่ Prettier แนะนำได้ คุณไม่จำเป็นต้องเรียกใช้prettier
คำสั่งแยกกัน
eslint-plugin-prettier
: นี่คือปลั๊กอิน ESLint ซึ่งหมายความว่ามีการใช้งานสำหรับกฎเพิ่มเติมที่ ESLint จะตรวจสอบ ปลั๊กอินนี้ใช้ Prettier ภายใต้ประทุนและจะเพิ่มปัญหาเมื่อโค้ดของคุณแตกต่างจากผลลัพธ์ที่คาดไว้ของ Prettier --fix
ปัญหาเหล่านั้นสามารถแก้ไขได้โดยอัตโนมัติผ่านทาง ด้วยปลั๊กอินนี้คุณไม่จำเป็นต้องเรียกใช้prettier
คำสั่งแยกจากกันคำสั่งจะถูกเรียกใช้เป็นส่วนหนึ่งของปลั๊กอิน eslint-config-prettier
ปลั๊กอินนี้จะไม่ปิดการจัดรูปแบบที่เกี่ยวข้องกับกฎระเบียบและคุณจะต้องปิดได้ถ้าคุณเห็นความขัดแย้งสำหรับกฎระเบียบดังกล่าวด้วยตนเองหรือผ่านทาง
eslint-config-prettier
: นี่คือการกำหนดค่า ESLint และมีการกำหนดค่าสำหรับกฎ (ไม่ว่ากฎบางอย่างจะเปิดปิดหรือการกำหนดค่าพิเศษ) การกำหนดค่านี้ช่วยให้คุณใช้ Prettier กับการกำหนดค่า ESLint อื่น ๆ เช่นeslint-config-airbnb
โดยการปิดกฎที่เกี่ยวข้องกับการจัดรูปแบบที่อาจขัดแย้งกับ Prettier ด้วยการกำหนดค่านี้คุณไม่จำเป็นต้องใช้prettier-eslint
เนื่องจาก ESLint จะไม่บ่นหลังจากที่ Prettier ฟอร์แมตโค้ดของคุณ อย่างไรก็ตามคุณจะต้องเรียกใช้prettier
คำสั่งแยกกัน
หวังว่านี่จะสรุปความแตกต่างได้
อัปเดต: เป็นแนวทางปฏิบัติที่แนะนำเพื่อให้ Prettier จัดการกับการจัดรูปแบบและ ESLint สำหรับปัญหาที่ไม่ใช่การจัดรูปแบบprettier-eslint
ไม่ได้เป็นไปในทิศทางเดียวกันกับแนวทางปฏิบัติดังกล่าวจึงprettier-eslint
ไม่แนะนำอีกต่อไป คุณสามารถใช้eslint-plugin-prettier
และeslint-config-prettier
ร่วมกัน