ทำไมต้องใช้ PNPM
Features
version manager
PNPM ทำงานอย่างไร
ทำไมต้อง pnpm
ประหยัด disk
เมื่อใช้งาน pnpm แทน npm จะช่วยประหยัดพื้นที่จัดเก็บบนดิสก์ได้มาก เนื่องจาก:
- หากต้องการเวอร์ชันต่างๆ ของโมดูลเดียวกัน จะเก็บเฉพาะไฟล์ที่มีการเปลี่ยนแปลงไว้เพิ่มเท่านั้น
- ไฟล์จะถูกจัดเก็บไว้ในที่เดียวบนดิสก์ เมื่อติดตั้งโมดูล ระบบจะลิงก์ไฟล์มาจากแหล่งกลาง ช่วยประหยัดพื้นที่ได้มากกว่าการคัดลอกไฟล์ซ้ำ
สุดท้ายแล้ว pnpm จึงช่วยประหยัดพื้นที่บนดิสก์ได้มาก และการติดตั้งก็รวดเร็วขึ้นด้วย
ติดตั้งเร็ว
pnpm แบ่งกระบวนการติดตั้งออกเป็น 3 ขั้นตอนหลัก:
- การแก้ไขปัญหาความเกี่ยวข้องระหว่างโมดูล โดยระบุและดาวน์โหลดโมดูลที่จำเป็นทั้งหมดลงใน store
- การคำนวณโครงสร้างไดเรกทอรี node_modules ให้สอดคล้องกับโมดูลที่ต้องติดตั้ง
- การลิงก์โมดูลเข้าสู่ node_modules โดยเชื่อมโยงไฟล์จากที่เก็บใน store มายัง node_modules
ด้วยวิธีการนี้ จึงช่วยให้การติดตั้งมีประสิทธิภาพมากขึ้น
สร้าง non-flat node_modules directory
เมื่อใช้ npm หรือ Yarn Classic ในการติดตั้งโมดูล ทุกโมดูลจะถูกนำมารวมไว้ที่ root ของไดเรกทอรี node_modules ทำให้โค้ดสามารถเข้าถึงโมดูลที่ไม่ได้อยู่ในรายการพึ่งพาของโปรเจกต์ได้
ในทางกลับกัน pnpm จะใช้SymbolicLink เพื่อเพิ่มเฉพาะโมดูลที่โปรเจกต์พึ่งพาโดยตรงเท่านั้นลงใน root ของ node_modules
หากต้องการรายละเอียดเพิ่มเติมเกี่ยวกับโครงสร้างไดเรกทอรี node_modules ที่ pnpm สร้างขึ้น และเหตุผลที่มันสามารถทำงานได้อย่างสอดคล้องกับ Node.js ecosystem สามารถอ่านได้ที่ลิงก์ด้านล่าง: