ความเข้าใจ Volta
วิธีการทำงานของ Volta
Volta จัดการเครื่องมือบรรทัดคำสั่ง JavaScript ของคุณโดยสร้าง shims ที่ส่งต่อไปยังเวอร์ชันที่ถูกต้องตามโฟลเดอร์ปัจจุบันของคุณ สิ่งนี้ทำให้โปรเจกต์ต่างๆ สามารถใช้เวอร์ชันที่แตกต่างกันของเครื่องมือเดียวกันได้โดยไม่ต้องมีการกำหนดค่าเพิ่มเติม
ระบบ Shim
เมื่อคุณติดตั้ง Volta จะเพิ่ม shims ขนาดเล็กไปยัง PATH ของคุณ:
- หนึ่งสำหรับ
node - หนึ่งสำหรับแต่ละ package manager (
npm,yarn,pnpmฯลฯ) - หนึ่งสำหรับแต่ละแพ็กเกจทั่วโลกที่คุณติดตั้ง
shims เหล่านี้เป็น executable ขนาดเล็กที่กำหนดว่าเวอร์ชันจริงของเครื่องมือที่จะเรียกใช้โดย:
- ตรวจสอบว่าคุณอยู่ในโปรเจกต์ที่มีเวอร์ชันเครื่องมือปักหมุดหรือไม่
- ใช้เวอร์ชันเริ่มต้นของคุณหากไม่พบเวอร์ชันเฉพาะโปรเจกต์
เวอร์ชันเฉพาะโปรเจกต์
Volta เก็บข้อกำหนดเครื่องมือโปรเจกต์ในไฟล์ package.json ของคุณภายใต้ส่วน volta:
{
"volta": {
"node": "16.15.1",
"npm": "8.11.0"
}
}เมื่อคุณเรียกคำสั่งในโฟลเดอร์ที่มีการกำหนดค่านี้อ Vol จะตรวจสอบให้แน่ใจว่าคุณใช้เวอร์ชันเหล่านี้โดยอัตโนมัติ
เวอร์ชันเริ่มต้น
สำหรับตำแหน่งภายนอกโปรเจกต์ที่มีเวอร์ชันปักหมุด Volta จะใช้เครื่องมือเริ่มต้นของคุณ คุณสามารถตั้งค่าเหล่านี้ด้วย:
volta install node@16.15.1
volta install npm@8.11.0ทำไมต้อง Volta?
สภาพแวดล้อมที่สอดคล้องกัน
Volta ตรวจสอบให้แน่ใจว่าทุกคนที่ทำงานบนโปรเจกต์ใช้ toolchain เดียวกัน precisely กำจัดปัญหา "ทำงานบนเครื่องของฉัน"
โอเวอร์เฮดเป็นศูนย์
ไม่เหมือนกับตัวจัดการเวอร์ชันอื่นๆ Volta ไม่ต้องมีคำสั่งเพิ่มเติมเพื่อสลับเวอร์ชันเมื่อคุณเปลี่ยนโปรเจกต์ สิ่งนี้เกิดขึ้นโดยอัตโนมัติเมื่อคุณนำทางระบบไฟล์ของคุณ
ประสิทธิภาพที่รวดเร็ว
สร้างด้วย Rust Volta ถูกออกแบบมาสำหรับความเร็ว สถาปัตยกรรม shim ของมันหมายถึงโอเวอร์เฮดต่ำที่สุดเมื่อเรียกใช้เครื่องมือ JavaScript
การผสานรวมอย่างราบรื่น
Volta ทำงานร่วมกับขั้นตอนการทำงานการพัฒนา JavaScript ที่มีอยู่ของคุณโดยไม่ต้องมีการเปลี่ยนแปลงนิสัยหรือกระบวนการของคุณ
ขั้นตอนการทำงานทั่วไป
การเริ่มต้นโปรเจกต์ใหม่
# สร้างโฟลเดอร์และตั้งค่าแพ็กเกจ
mkdir my-project && cd my-project
npm init -y
# ปักหมุดเวอร์ชัน Node.js และ npm
volta pin node@16
volta pin npm@8
# ติดตั้ง dependencies
npm install expressการมีส่วนร่วมในโปรเจกต์ที่มีอยู่
# Clone repository
git clone https://github.com/example/project.git
cd project
# หากโปรเจกต์มีการกำหนดค่า volta ใน package.json
# เครื่องมือที่ถูกต้องจะถูกใช้โดยอัตโนมัติ
# หากไม่มี คุณสามารถเพิ่มได้
volta pin node@14การติดตั้งเครื่องมือทั่วโลก
# ติดตั้งแพ็กเกจทั่วโลก
volta install typescript
# ตอนนี้คุณสามารถใช้ได้จากทุกที่
tsc --version