การเข้าสู่หลักสูตรความเชี่ยวชาญส่วนหน้า (vue): เข้าสู่เพื่อเรียนรู้
รูปแบบเวอร์ชัน: XYZ[-string]
6.3.2-alpha
คือ
:
การทำซ้ำที่อัปเดตที่เข้ากันได้เวอร์ชันรองหมายเลข 3 มีการทำซ้ำฟีเจอร์เล็กๆ น้อยๆ 3 รายการ แพ็คเกจใหม่นี้สามารถติดตั้งได้สำหรับคำสั่งการพึ่งพาใด ๆ ของ 6.*.*
<= 6.3.2
แก้ไขหมายเลขเวอร์ชัน 2 แล้ว มีการแก้ไขข้อบกพร่อง 2 รายการหรือการแก้ไขการทำงานอื่นๆ ที่ไม่สำคัญ แพ็คเกจใหม่นี้สามารถติดตั้งได้สำหรับคำสั่งการพึ่งพาใด ๆ ของ 6.*.*
<= 6.3.2
หมายเลขเวอร์ชันขั้นสูง alpha
แสดงถึงขั้นตอนการทดลองการประมวลผล
การอ่านเพิ่มเติม: วิธีระบุเวอร์ชันการพึ่งพาใน semantic เวอร์ชัน 2.0.0
จะมีการอธิบายดังนี้:
"vue": "~2.5.22", "vue-class-component": "^6.0.0", "vue-เราเตอร์": "3.0.1", "ด่วน": "ล่าสุด", "mongoose": "*",
สัญลักษณ์ ^
: ล็อคเวอร์ชันหลัก คุณสามารถอัปเดตหมายเลขเวอร์ชันรอง หมายเลขเวอร์ชันที่แก้ไข และหมายเลขเวอร์ชันขั้นสูงได้
ตัวอย่างเช่น "vue-class-component": "^6.0.0"
, คุณสามารถติดตั้งได้เมื่อติดตั้งการอ้างอิง เวอร์ชันใดก็ได้ที่สอดคล้องกับ 6.*.*
ตราบใดที่หมายเลขเวอร์ชันหลักคือ 6
สัญลักษณ์ ~
: ล็อคหมายเลขเวอร์ชันหลักและหมายเลขเวอร์ชันรอง และอัปเดตหมายเลขเวอร์ชันที่แก้ไขและหมายเลขเวอร์ชันก่อนหน้า
เช่น "vue": "~2.5.22"
เมื่อติดตั้งการอ้างอิง คุณสามารถติดตั้งเวอร์ชันใดก็ได้ที่สอดคล้องกับ 2.5.*
.
空符号
: ล็อคหมายเลขเวอร์ชันทั้งหมด
เช่น "vue-router": "3.0.1"
และสามารถติดตั้งได้เฉพาะแพ็คเกจที่ขึ้นอยู่กับเวอร์ชัน 3.0.1
เท่านั้น
符号*
: กำหนดช่วงหมายเลขเวอร์ชันที่แน่นอน
เช่น vue-router": "3.0.*"
คุณสามารถติดตั้งเวอร์ชันใดก็ได้ที่แก้ไขเป็น 3.0
เช่น 3.0.1
, 3.0.2
latest
: ติดตั้งเวอร์ชันเสถียรล่าสุด
ตัวอย่างเช่น "express": "latest"
สามารถติดตั้ง 4.18.1
(เวอร์ชันล่าสุด 2022.06.13)
*
: ติดตั้งเวอร์ชันล่าสุด ไม่จำเป็นต้องเป็นเวอร์ชันเสถียร
ตัวอย่างเช่น "mongoose": "*"
สามารถติดตั้ง 6.0.0-rc2
, 3.9.7
เป็นต้น
Git URL
: ใช้รูปแบบอ้างอิงแพ็คเกจที่เผยแพร่บน Git
: <protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]
"test": "git+ssh://[email protected]:npm/cli.git#v1.0.27"
การอ่านเพิ่มเติม: เอกสาร npm -
ดังที่ชื่อเรื่องกล่าวไว้ นี่คือประสบการณ์ที่ได้รับจากบทเรียนเรื่องเลือด
เมื่อผู้เขียนใช้ system.js
ขีดจำกัดเวอร์ชันที่ใช้คือ: system.js: "^6.3.2"
เมื่อติดตั้งการขึ้นต่อกัน เวอร์ชัน > 6.3.2
ถูกติดตั้งโดยไม่ตั้งใจ ทำให้เกิดข้อผิดพลาดในการรันโปรเจ็กต์
เหตุผลก็คือ ผู้เขียน system.js
ไม่ได้ตั้งชื่อหมายเลขเวอร์ชันตามข้อกำหนดของ semver
ซึ่งทำให้โปรเจ็กต์ของผู้เขียนแนะนำการอัปเดตที่ ไม่สามารถเข้ากันได้แบบย้อนหลัง ทำให้โปรเจ็กต์ทำงานไม่ถูกต้อง
ที่ใช้ในสภาพแวดล้อมการผลิตทั้งหมดได้รับการติดตั้งภายใต้ dependencies
ตัวอย่างเช่น:
"การอ้างอิง": { "ชอล์ก": "^2.4.2", "ผู้บัญชาการ": "^3.0.0", "fs-พิเศษ": "^8.1.0", "ผู้สอบถาม": "^6.5.0", "mem-fs": "^1.1.3", "mem-fs-editor": "^6.0.0", "shelljs": "^0.8.3" }
โค้ดข้างต้นเป็นส่วนย่อยจาก package.json
ของชุดเครื่องมือ cli
ที่สร้างโดยผู้เขียน
shelljs
ใช้เพื่อดำเนินการกับไฟล์ หากการประกาศเปลี่ยนเป็น devDependencies
จะมีการรายงานข้อผิดพลาดหลังจากที่ผู้ใช้ติดตั้งชุดเครื่องมือปัจจุบัน
เนื่องจากการขึ้นต่อกันที่ประกาศในฟิลด์ devDependencies
จะไม่ถูกติดตั้งเมื่อ npm install 工具包
จะต้องประกาศในช่อง dependencies
กันก่อนจึงจะสามารถติดตั้งได้
การพึ่งพาที่ไม่จำเป็นในสภาพแวดล้อมการผลิตจำเป็นต้องได้รับการติดตั้งภายใต้ devDependencies
เนื่องจากในสภาพแวดล้อมการใช้งานจริง การขึ้นต่อกันภายใต้ฟิลด์ devDependencies
จะไม่ถูกติดตั้ง
ตัวอย่างเช่น:
"devDependencies": { "@commitlint/cli": "^8.1.0", "@commitlint/config-conventional": "^8.1.0", "มุ่งมั่น": "^4.0.3", "commitlint-config-cz": "^0.12.1", "cz-customizable": "^6.2.0", "รุ่นมาตรฐาน": "^7.0.0" }
โค้ดข้างต้นเป็นส่วนย่อยจาก package.json
ของชุดเครื่องมือ cli
ที่สร้างโดยผู้เขียน
commitizen
เป็นแพ็คเกจการพึ่งพาที่ใช้โดยผู้เขียนเพื่อสร้างมาตรฐานข้อกำหนดการส่ง Git
มันถูกใช้ในสภาพแวดล้อมการพัฒนาเท่านั้น ดังนั้นจึงมีการประกาศใน devDependencies
เมื่อพัฒนาปลั๊กอินและชุดเครื่องมือบางตัว มีข้อกำหนดสำหรับเวอร์ชันแพ็กเกจการพึ่งพาของสภาพแวดล้อมการทำงานของผู้ใช้ ซึ่งสามารถประกาศได้โดยใช้ฟิลด์ peerDependencies
ตัวอย่างเช่น:
{ "ชื่อ": "ชา-ลาเต้", "เวอร์ชัน": "1.3.5", "เพียร์พึ่งพา": { "ชา": "2.x" - }
เครื่องมือ tea-latte
ปัจจุบันขึ้นอยู่กับแพ็คเกจ tea
นอกจากนี้แพ็คเกจ tea
จะต้องเป็นเวอร์ชันหลัก 2
เมื่อไม่เป็นไปตามข้อกำหนด คอนโซลจะรายงานข้อผิดพลาด
สังเกต
เวอร์ชัน npm v7 peerDependencies จะถูกติดตั้งตามค่าเริ่มต้น
npm v3 ถึง npm v6,peerDependencies
จะไม่ถูกติดตั้งโดยอัตโนมัติ