เมื่อใช้ "npm install" โมดูลจะถูกโหลดและพร้อมใช้งานตลอดทั้งแอปพลิเคชันของคุณโดยไม่คำนึงว่าเป็น "devDependencies" หรือ "dependencies" ผลรวมของความคิดนี้: ทุกสิ่งที่ package.json ของคุณกำหนดว่าเป็นการพึ่งพา (ชนิดใดก็ได้) จะถูกติดตั้งใน node_modules
จุดประสงค์สำหรับความแตกต่างระหว่างการพึ่งพา / devDependencies / optionalDependencies คือสิ่งที่ผู้บริโภคของโค้ดของคุณสามารถทำได้ด้วย / npm เพื่อติดตั้งทรัพยากรเหล่านี้
ตามเอกสาร: https://npmjs.org/doc/json.html ...
หากมีใครบางคนกำลังวางแผนในการดาวน์โหลดและใช้โมดูลของคุณในโปรแกรมของพวกเขาพวกเขาอาจไม่ต้องการหรือจำเป็นต้องดาวน์โหลดและสร้างการทดสอบภายนอกหรือกรอบงานเอกสารที่คุณใช้
ในกรณีนี้เป็นการดีที่สุดที่จะแสดงรายการเพิ่มเติมเหล่านี้ในแฮชการอ้างอิง
สิ่งเหล่านี้จะถูกติดตั้งทุกครั้งที่มีการตั้งค่าแฟล็ก --dev แฟล็กนี้ถูกตั้งค่าโดยอัตโนมัติเมื่อทำการลิงก์ npm หรือเมื่อทำการติดตั้ง npm จากรูทของแพ็กเกจและสามารถจัดการได้เหมือนกับพารามิเตอร์การกำหนดคอนฟิก npm อื่น ๆ ดู config (1) สำหรับข้อมูลเพิ่มเติมในหัวข้อ
อย่างไรก็ตามหากต้องการแก้ไขคำถามนี้หากคุณต้องการติดตั้งเฉพาะ "การอ้างอิง" โดยใช้ npm คำสั่งต่อไปนี้คือ:
npm install --production
สิ่งนี้สามารถยืนยันได้โดยดูที่การคอมมิท Git ซึ่งเพิ่มตัวกรองนี้ (พร้อมกับตัวกรองอื่น ๆ [รายการด้านล่าง] เพื่อมอบฟังก์ชันการทำงานนี้)
ตัวกรองสำรองที่สามารถใช้งานได้โดย npm:
--save => updates dependencies entries in the {{{json}}} file
--force => force fetching remote entries if they exist on disk
--force-latest => force latest version on conflict
--production => do NOT install project devDependencies
--no-color => do not print colors
@dmarr ลองใช้การติดตั้ง npm --production