ความแตกต่างระหว่าง--save
และ--save-dev
อาจไม่สามารถสังเกตเห็นได้ทันทีหากคุณลองทั้งสองอย่างในโครงการของคุณเอง ดังนั้นนี่คือตัวอย่างเล็ก ๆ น้อย ๆ ...
สมมติว่าคุณกำลังสร้างแอปที่ใช้แพคเกจโมเมนต์เพื่อแยกวิเคราะห์และแสดงวันที่ แอปของคุณเป็นกำหนดการจึงจริงๆต้องการแพคเกจนี้ในการทำงานเช่นเดียวกับใน: ไม่สามารถทำงานได้โดยไม่ได้ ในกรณีนี้คุณจะใช้
npm install moment --save
สิ่งนี้จะสร้างค่าใหม่ใน package.json ของคุณ
"dependencies": {
...
"moment": "^2.17.1"
}
เมื่อคุณมีการพัฒนาจริงๆมันจะช่วยให้การใช้เครื่องมือเช่นห้องทดสอบและอาจจำเป็นต้องมะลิ-coreและกรรม ในกรณีนี้คุณจะใช้
npm install jasmine-core --save-dev
npm install karma --save-dev
สิ่งนี้จะสร้างค่าใหม่ใน package.json ของคุณ
"devDependencies": {
...
"jasmine-core": "^2.5.2",
"karma": "^1.4.1",
}
คุณไม่จำเป็นต้องมีชุดทดสอบเพื่อเรียกใช้แอปในสถานะปกติดังนั้นจึงเป็น--save-dev
ประเภทที่ต้องพึ่งพาอาศัยกันจึงไม่มีอะไรเพิ่มเติม คุณสามารถดูว่าถ้าคุณไม่เข้าใจสิ่งที่เกิดขึ้นจริง ๆ มันเป็นเรื่องยากที่จะจินตนาการ
ถ่ายโดยตรงจากเอกสาร NPM docs # dependencies
การอ้างอิง
การอ้างอิงที่ระบุไว้ในวัตถุอย่างง่ายที่แมปชื่อแพคเกจไปยังช่วงรุ่น ช่วงของเวอร์ชันเป็นสตริงที่มีหนึ่ง descriptors คั่นด้วยช่องว่าง การอ้างอิงสามารถระบุได้ด้วย tarball หรือ git URL
โปรดอย่าใส่สายรัดทดสอบหรือตัวส่งสัญญาณในวัตถุอ้างอิงของคุณ ดู devDependenciesด้านล่าง
แม้แต่ในเอกสารมันก็ขอให้คุณใช้ - บันทึก -ev สำหรับโมดูลเช่นสายรัดทดสอบ
ฉันหวังว่านี่จะช่วยได้และชัดเจน