Skip to content

Configuration

Volta ใช้ไฟล์กำหนดค่าหลายไฟล์เพื่อจัดการเครื่องมือ JavaScript ของคุณ คำอธิบายนี้อธิบายตัวเลือกการกำหนดค่าที่มีให้ใช้งานและรูปแบบของไฟล์

การกำหนดค่าโปรเจกต์

การกำหนดค่าเฉพาะโปรเจกต์จะถูกเก็บไว้ในไฟล์ package.json ของโปรเจกต์ของคุณภายใต้คีย์ volta

รูปแบบ

json
{
  "volta": {
    "node": "16.14.2",
    "npm": "8.5.0",
    "yarn": "1.22.19",
    "extends": "../shared-volta-config.json"
  }
}

คุณสมบัติ

คุณสมบัติประเภทคำอธิบาย
nodeStringเวอร์ชันของ Node.js ที่จะใช้ในโปรเจกต์นี้
npmStringเวอร์ชันของ npm ที่จะใช้ในโปรเจกต์นี้
yarnStringเวอร์ชันของ Yarn ที่จะใช้ในโปรเจกต์นี้
pnpmStringเวอร์ชันของ pnpm ที่จะใช้ในโปรเจกต์นี้
extendsStringพาธไปยังไฟล์กำหนดค่า Volta ร่วมกัน

รูปแบบเวอร์ชัน

สตริงเวอร์ชันในการกำหนดค่า volta สามารถใช้รูปแบบต่อไปนี้ได้:

  • เวอร์ชันแน่นอน: 16.14.2
  • เฉพาะเวอร์ชันหลัก: 16
  • เวอร์ชันหลักและรอง: 16.14
  • ช่วงเวอร์ชัน (npm semver): ^16.14.0
  • แท็ก: latest, lts

การกำหนดค่าโปรเจกต์ร่วมกัน

คุณสามารถสร้างการกำหนดค่า Volta ร่วมกันที่หลายโปรเจกต์สามารถขยายได้ สิ่งนี้มีประโยชน์สำหรับองค์กรที่ต้องการมาตรฐานเวอร์ชันเครื่องมือข้ามโปรเจกต์

รูปแบบ

json
{
  "node": "16.14.2",
  "npm": "8.5.0"
}

รูปแบบเหมือนกับส่วน volta ใน package.json แต่อยู่ที่ระดับ root ของไฟล์ JSON

การกำหนดค่าผู้ใช้

การกำหนดค่าผู้ใช้ของ Volta จะถูกเก็บไว้ในโฟลเดอร์บ้านของ Volta:

  • Unix: ~/.volta/
  • Windows: %LOCALAPPDATA%\Volta\

ที่เก็บเครื่องมือ

เครื่องมือที่ติดตั้งจะถูกเก็บไว้ในโฟลเดอร์ที่มีโครงสร้าง:

  • Node.js: ~/.volta/tools/image/node/
  • Package managers: ~/.volta/tools/image/yarn/, ~/.volta/tools/image/npm/
  • แพ็กเกจ: ~/.volta/tools/user/packages/

โฟลเดอร์ Hooks

hooks แบบกำหนดเองจะถูกเก็บไว้ใน ~/.volta/hooks/ ดูส่วนฟีเจอร์ขั้นสูง สำหรับข้อมูลเพิ่มเติม

ตัวแปรสภาพแวดล้อม

ตัวแปรสภาพแวดล้อมให้วิธีอื่นในการกำหนดค่าพฤติกรรมของ Volta ดูหน้าตัวแปรสภาพแวดล้อม สำหรับคำอธิบายฉบับสมบูรณ์

ลำดับความสำคัญการกำหนดค่า

เมื่อแก้ไขว่าควรใช้เวอร์ชันเครื่องมือใด Volta จะตรวจสอบแหล่งข้อมูลตามลำดับต่อไปนี้:

  1. อาร์กิวเมนต์บรรทัดคำสั่ง (เช่น volta run --node 14)
  2. การกำหนดค่าโปรเจกต์ใน package.json ที่ใกล้ที่สุดที่มีส่วน volta
  3. เวอร์ชันเครื่องมือเริ่มต้นของผู้ใช้ (ตั้งค่าผ่าน volta install)
  4. เวอร์ชันที่รวมมา (เช่น npm ที่รวมมาพร้อมกับ Node.js)

ตัวอย่าง

การกำหนดค่าโปรเจกต์ทั่วไป

json
{
  "name": "my-project",
  "version": "1.0.0",
  "volta": {
    "node": "16.14.2",
    "npm": "8.5.0"
  },
  "dependencies": {
    // ...
  }
}

การกำหนดค่าขยาย

json
// shared-config.json
{
  "node": "16.14.2",
  "yarn": "1.22.19"
}

// package.json
{
  "name": "my-project",
  "version": "1.0.0",
  "volta": {
    "extends": "./shared-config.json",
    "npm": "8.5.0"  // แทนที่เวอร์ชัน npm ใดๆ ในการกำหนดค่าที่ขยาย
  }
}

การกำหนดค่า Workspace

สำหรับโปรเจกต์ที่ใช้ workspace การกำหนดค่า package.json root จะใช้กับแพ็กเกจ workspace ทั้งหมด:

json
// Root package.json
{
  "name": "workspace-root",
  "volta": {
    "node": "16.14.2",
    "yarn": "1.22.19"
  },
  "workspaces": [
    "packages/*"
  ]
}

// packages/app/package.json - จะใช้ Node.js 16.14.2 และ Yarn 1.22.19
{
  "name": "app",
  "version": "1.0.0",
  // ไม่ต้องมีส่วน volta ที่นี่
}

Released under the BSD 2-Clause License.