บทช่วยสอน NPM ของ Node.js: วิธีสร้าง ขยาย และเผยแพร่โมดูล
โมดูล Node.js
โมดูลใน Node.js เป็นการห่อหุ้มโค้ดแบบลอจิคัลในหน่วยเดียว เป็นแนวทางปฏิบัติที่ดีในการเขียนโปรแกรมเสมอที่จะแยกโค้ดในลักษณะที่ทำให้สามารถจัดการและบำรุงรักษาได้มากขึ้นสำหรับวัตถุประสงค์ในอนาคต นั่นคือจุดที่โมดูลใน Node.js เข้ามาใช้งาน
เนื่องจากแต่ละโมดูลเป็นเอนทิตีอิสระที่มีฟังก์ชันการทำงานแบบห่อหุ้มของตัวเอง จึงสามารถจัดการเป็นหน่วยงานที่แยกต่างหากได้
โมดูลใน Node.js คืออะไร?
ตามที่ระบุไว้ก่อนหน้านี้ โมดูลใน Node js เป็นวิธีการห่อหุ้มโค้ดในหน่วยลอจิคัลที่แยกจากกัน มีโมดูลสำเร็จรูปมากมายในท้องตลาดซึ่งสามารถใช้ได้ภายใน Node js
ด้านล่างนี้คือโมดูลยอดนิยมบางส่วนที่ใช้ในแอปพลิเคชัน Node js
- กรอบงานด่วน – Express เป็นเฟรมเวิร์กแอปพลิเคชันเว็บ Node js ที่เรียบง่ายและยืดหยุ่น ซึ่งมอบชุดคุณสมบัติที่แข็งแกร่งสำหรับเว็บและ โทรศัพท์มือถือ การใช้งาน
- socket.io – Socket.IO ช่วยให้สามารถสื่อสารตามเหตุการณ์แบบสองทิศทางแบบเรียลไทม์ โมดูลนี้เหมาะสำหรับการสร้างแอปพลิเคชันที่ใช้การแชท
- Jade – Jade เป็นเอ็นจิ้นเทมเพลตประสิทธิภาพสูงและนำไปใช้ด้วย Javaต้นฉบับ สำหรับโหนดและเบราว์เซอร์
- MongoDB - MongoDB ไดรเวอร์ Node.js เป็นไดรเวอร์ node.js ที่รองรับอย่างเป็นทางการสำหรับ MongoDB.
- ฟื้นฟู – Restify เป็นเฟรมเวิร์กแบบ Lightweight คล้ายกับ Express สำหรับการสร้าง REST API
- นกชนิดหนึ่ง – Bluebird เป็นไลบรารีที่เน้นคุณลักษณะและประสิทธิภาพที่สร้างสรรค์
การใช้โมดูลใน Node.js
เพื่อที่จะใช้โมดูลใน Node.js จะต้องติดตั้งโดยใช้ Node package manager ก่อน
บรรทัดคำสั่งด้านล่างแสดงวิธีการติดตั้งโมดูล "express"
npm ติดตั้งด่วน
- คำสั่งดังกล่าวจะดาวน์โหลดไฟล์ที่จำเป็นซึ่งประกอบด้วย "โมดูลด่วน" และดูแลการติดตั้งด้วย
- เมื่อติดตั้งโมดูลแล้ว เพื่อใช้โมดูลในแอปพลิเคชัน Node.js คุณต้องใช้คีย์เวิร์ด 'require' คีย์เวิร์ดนี้เป็นวิธีที่ Node.js ใช้เพื่อรวมฟังก์ชันการทำงานของโมดูลในแอปพลิเคชัน
มาดูตัวอย่างการใช้คีย์เวิร์ด “require” กัน ตัวอย่างโค้ด “Guru99” ด้านล่างแสดงวิธีใช้ฟังก์ชัน need
var express=require('express'); var app=express(); app.set('view engine','jade'); app.get('/',function(req,res) { }); var server=app.listen(3000,function() { });
- ในคำสั่งแรก เราใช้คีย์เวิร์ด "require" เพื่อรวมโมดูลด่วน โมดูล "ด่วน" ได้รับการปรับให้เหมาะสม Javaต้นฉบับ ไลบรารี่สำหรับการพัฒนา Node.js นี่เป็นหนึ่งในโมดูล Node.js ที่ใช้บ่อยที่สุด
- หลังจากที่รวมโมดูลแล้ว เพื่อที่จะใช้ฟังก์ชันการทำงานภายในโมดูล จำเป็นต้องสร้างออบเจ็กต์ นี่คือวัตถุของโมดูลด่วนที่ถูกสร้างขึ้น
- เมื่อโมดูลถูกรวมไว้โดยใช้คำสั่ง "require" และสร้าง "อ็อบเจ็กต์" ขึ้นมา ก็สามารถเรียกใช้เมธอดที่จำเป็นของโมดูล Express ได้ ที่นี่เราใช้คำสั่ง set เพื่อตั้งค่าเอ็นจิ้นการดู ซึ่งใช้ในการตั้งค่าเอ็นจิ้นการสร้างเทมเพลตที่ใช้ใน Node.js
- ที่นี่เราใช้วิธี Listen to เพื่อให้แอปพลิเคชันฟังหมายเลขพอร์ตเฉพาะ
หมายเหตุ: -(เพื่อความเข้าใจของผู้อ่าน เครื่องมือสร้างเทมเพลตเป็นแนวทางในการใส่ค่าลงในแอปพลิเคชันโดยหยิบข้อมูลจากไฟล์ข้อมูล แนวคิดนี้ค่อนข้างโด่งดังใน Angular JS โดยใช้เครื่องหมายวงเล็บปีกกา {{ key }} เพื่อแทนที่ค่าในหน้าเว็บ คำว่า 'key' ในเครื่องหมายวงเล็บปีกกาหมายถึงตัวแปรที่จะถูกแทนที่ด้วยค่าเมื่อแสดงหน้าเว็บ)
วิธีการสร้างโมดูล NPM
Node.js มีความสามารถในการสร้างโมดูลที่กำหนดเองและอนุญาตให้คุณรวมโมดูลที่กำหนดเองเหล่านั้นไว้ในแอปพลิเคชัน Node.js ของคุณ
มาดูตัวอย่างง่ายๆ ของการสร้างโมดูลของเราเองและรวมโมดูลนั้นไว้ในไฟล์แอปพลิเคชันหลักกัน โมดูลของเราจะทำแค่เพียงงานง่ายๆ ของการบวกตัวเลขสองตัว
มาทำตามขั้นตอนด้านล่างเพื่อดูว่าเราสามารถสร้างโมดูลและรวมไว้ในแอปพลิเคชันของเราได้อย่างไร
ต่อไปนี้เป็นกระบวนการทีละขั้นตอนในการสร้างโมดูล NPM
ขั้นตอน 1) สร้างไฟล์และวางโค้ดด้านล่าง
สร้างไฟล์ชื่อ “Addition.js” และใส่โค้ดด้านล่าง ไฟล์นี้จะมีตรรกะสำหรับโมดูลของคุณ
ด้านล่างนี้เป็นโค้ดที่จะเข้าไปในไฟล์นี้
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
- คำสำคัญ "ส่งออก" ใช้เพื่อให้แน่ใจว่าไฟล์อื่นสามารถเข้าถึงฟังก์ชันการทำงานที่กำหนดไว้ในไฟล์นี้ได้
- จากนั้นเราจะกำหนดฟังก์ชันที่เรียกว่า 'AddNumber' ฟังก์ชันนี้ถูกกำหนดให้รับพารามิเตอร์ 2 ตัว คือ a และ b ฟังก์ชันนี้จะถูกเพิ่มลงในโมดูล “ส่งออก” เพื่อให้ฟังก์ชันนี้เป็นฟังก์ชันสาธารณะที่โมดูลแอปพลิเคชันอื่นๆ สามารถเข้าถึงได้
- ในที่สุดเราก็ทำให้ฟังก์ชันของเราส่งคืนค่าเพิ่มของพารามิเตอร์
ตอนนี้เราได้สร้างโมดูลที่กำหนดเองซึ่งมีฟังก์ชันการบวกตัวเลข 2 ตัวแล้ว ตอนนี้ถึงเวลาสร้างแอปพลิเคชันที่จะเรียกใช้โมดูลนี้
ในขั้นตอนถัดไป เราจะดูวิธีสร้างแอปพลิเคชันซึ่งจะเรียกโมดูลที่กำหนดเองของเรา
ขั้นตอน 2) สร้างไฟล์แอปพลิเคชัน
สร้างไฟล์ชื่อ “app.js” ซึ่งเป็นไฟล์แอปพลิเคชันหลักของคุณและเพิ่มโค้ดด้านล่าง
var Addition=require('./Addition.js'); console.log(Addition.AddNumber(1,2));
- เรากำลังใช้คีย์เวิร์ด “require” เพื่อรวมฟังก์ชันการทำงานไว้ในไฟล์ Addition.js
- เนื่องจากตอนนี้สามารถเข้าถึงฟังก์ชันในไฟล์ Addition.js ได้แล้ว เราจึงสามารถเรียกใช้ฟังก์ชัน AddNumber ได้ ในฟังก์ชันนี้ เรากำลังส่งตัวเลข 2 ตัวเป็นพารามิเตอร์ จากนั้นเราจะแสดงค่าในคอนโซล
เอาท์พุต:
- เมื่อคุณเรียกใช้ไฟล์ app.js คุณจะได้รับเอาต์พุตค่า 3 ในบันทึกของคอนโซล
- ผลลัพธ์เกิดจากการเรียกใช้ฟังก์ชัน AddNumber ในไฟล์ Addition.js สำเร็จ และค่าที่ส่งคืน 3 จะถูกแสดงในคอนโซล
หมายเหตุ – เราไม่ได้ใช้ “ตัวจัดการแพ็คเกจโหนด” ณ ขณะนี้เพื่อติดตั้งโมดูล Addition.js ของเรา เนื่องจากโมดูลเป็นส่วนหนึ่งของโปรเจ็กต์ของเราบนเครื่องท้องถิ่นแล้ว ตัวจัดการแพ็กเกจโหนดจะปรากฏเมื่อคุณเผยแพร่โมดูลบนอินเทอร์เน็ต ซึ่งเราจะเห็นในหัวข้อถัดไป
การขยายโมดูลใน Node.js
เมื่อสร้างโมดูล ยังสามารถขยายหรือสืบทอดโมดูลหนึ่งจากโมดูลอื่นได้
ในการเขียนโปรแกรมยุคใหม่ เป็นเรื่องปกติที่จะสร้างไลบรารี่ของโมดูลทั่วไป จากนั้นจึงขยายฟังก์ชันการทำงานของโมดูลทั่วไปเหล่านี้หากจำเป็น
มาดูตัวอย่างวิธีที่เราสามารถขยายโมดูลใน Node.js
ขั้นตอน 1) สร้างโมดูลฐาน
ในตัวอย่างของเรา ให้สร้างไฟล์ชื่อ “Tutorial.js” และวางโค้ดด้านล่างนี้
ในโค้ดนี้ เราเพียงสร้างฟังก์ชันที่ส่งคืนสตริงไปยังคอนโซล สตริงที่ส่งคืนคือ “Guru99 Tutorial”
var exports=module.exports={}; exports.tutorial=function() { console.log("Guru99 Tutorial") }
- โมดูลการส่งออกถูกใช้เพื่อให้ฟังก์ชันใดก็ตามที่กำหนดไว้ในไฟล์นี้สามารถใช้ได้กับโมดูลอื่นใน Node.js
- เรากำลังสร้างฟังก์ชันที่เรียกว่าบทช่วยสอนซึ่งสามารถใช้ในโมดูล Node.js อื่นๆ ได้
- เรากำลังแสดงสตริง “Guru99 Tutorial” ในคอนโซลเมื่อมีการเรียกใช้ฟังก์ชันนี้
ตอนนี้เราได้สร้างโมดูลฐานของเราชื่อ Tutorial.js แล้ว ตอนนี้ถึงเวลาสร้างโมดูลอื่นที่จะขยายโมดูลฐานนี้
เราจะสำรวจวิธีการดำเนินการนี้ในขั้นตอนถัดไป
ขั้นตอน 2) ต่อไป เราจะสร้างโมดูลเพิ่มเติมของเรา สร้างไฟล์ใหม่ชื่อ “NodeTutorial.js” และวางโค้ดด้านล่างลงในไฟล์
var Tutor=require('./Tutorial.js'); exports.NodeTutorial=function() { console.log("Node Tutorial") function pTutor() { var PTutor=Tutor PTutor.tutorial(); } } Or var Tutor=require('./Tutorial.js'); exports.NodeTutorial=function() { console.log("Node Tutorial") this.pTutor = function () { var PTutor=Tutor PTutor.tutorial(); } }
หมายเหตุจุดสำคัญต่อไปนี้เกี่ยวกับโค้ดด้านบน
- เรากำลังใช้ฟังก์ชัน "require" ในไฟล์โมดูลใหม่ เนื่องจากเราจะขยายไฟล์โมดูลที่มีอยู่ “Tutorial.js” เราจึงต้องรวมไฟล์นั้นก่อนจึงจะขยายได้
- จากนั้นเราจะสร้างฟังก์ชันที่เรียกว่า "Nodetutorial" ฟังก์ชั่นนี้จะทำ 2 สิ่ง
- มันจะส่งสตริง “Node Tutorial” ไปยังคอนโซล
- มันจะส่งสตริง “Guru99 Tutorial” จากโมดูลฐาน “Tutorial.js” ไปยังโมดูลขยายของเรา “NodeTutorial.js”
- ที่นี่เรากำลังดำเนินการขั้นตอนแรกในการส่งสตริงไปยัง "บทช่วยสอนโหนด" ไปยังคอนโซล
- ขั้นตอนต่อไปคือการเรียกใช้ฟังก์ชันจากโมดูลการสอนของเรา ซึ่งจะส่งออกสตริง “Guru99 Tutorial” ไปที่ console.log
ขั้นตอน 3) สร้างไฟล์ app.js หลักของคุณ ซึ่งเป็นไฟล์แอปพลิเคชันหลักของคุณ และรวมโค้ดด้านล่างนี้
var localTutor=require('./NodeTutorial.js'); localTutor.NodeTutorial(); localTutor.NodeTutorial.pTutor(); Or use this code var tut = new localTutor.NodeTutorial(); // Create and save object tut.pTutor(); // Call function on object
โค้ดด้านบนทำสิ่งต่อไปนี้:
- ไฟล์แอปพลิเคชันหลักของเราตอนนี้เรียกว่าโมดูล “NodeTutorial”
- เรากำลังเรียกใช้ฟังก์ชัน “NodeTutorial” เมื่อเรียกใช้ฟังก์ชันนี้ ข้อความ “Node Tutorial” จะปรากฏในบันทึกคอนโซล
- เนื่องจากเราได้ขยายโมดูล Tutorial.js และแสดงฟังก์ชันที่เรียกว่า pTutor นอกจากนี้ยังเรียกใช้โมดูล tutorial ในโมดูล Tutorial.js และข้อความ “Guru99 Tutorial” จะแสดงบนคอนโซลด้วยเช่นกัน
Output:
เนื่องจากเราได้ดำเนินการโค้ด app.js ข้างต้นโดยใช้ Node เราจะได้รับเอาต์พุตต่อไปนี้ในไฟล์ console.log
- บทช่วยสอนโหนด
- Guru99 กวดวิชา
NPM (Node Package Manager) เผยแพร่แพ็คเกจ
เราสามารถเผยแพร่โมดูลของตนเองเป็นของตนเองได้ Github กรุ
ด้วยการเผยแพร่โมดูลของคุณไปยังตำแหน่งศูนย์กลาง คุณจะไม่ต้องกังวลกับการติดตั้งตัวเองบนทุกเครื่องที่ต้องการ
คุณสามารถใช้คำสั่ง install ของ npm และติดตั้งโมดูล npm ที่เผยแพร่ของคุณได้แทน
ขั้นตอนต่อไปนี้จำเป็นต้องปฏิบัติตามเพื่อเผยแพร่โมดูล npm ของคุณ
ขั้นตอน 1) สร้างพื้นที่เก็บข้อมูลของคุณบน GitHub (เครื่องมือจัดการพื้นที่เก็บข้อมูลโค้ดออนไลน์) สามารถใช้สำหรับการโฮสต์ที่เก็บโค้ดของคุณได้
ขั้นตอนที่ 2) คุณต้องแจ้งให้การติดตั้ง npm ในเครื่องของคุณทราบว่าคุณเป็นใคร ซึ่งหมายความว่าเราต้องแจ้งให้ npm ทราบว่าใครเป็นผู้เขียนโมดูลนี้ รหัสอีเมลคืออะไร และ URL ของบริษัทใดที่พร้อมใช้งานและต้องเชื่อมโยงกับรหัสนี้ รายละเอียดทั้งหมดนี้จะถูกเพิ่มลงในโมดูล npm ของคุณเมื่อเผยแพร่
คำสั่งด้านล่างนี้จะตั้งชื่อ อีเมล และ URL ของผู้เขียนของโมดูล npm
npm ตั้งค่า init-author-name “Guru99”
npm ตั้งค่า init-author-email “guru99@gmail.com”
npm ตั้งค่า init-author-url “http://Guru99.com”
ขั้นตอน 3) ขั้นตอนต่อไปคือการเข้าสู่ระบบ npm โดยใช้ข้อมูลรับรองที่ให้ไว้ในขั้นตอนสุดท้าย ในการเข้าสู่ระบบ คุณต้องใช้คำสั่งด้านล่าง
npm login
ขั้นตอน 4) เริ่มต้นแพ็คเกจของคุณ – ขั้นตอนต่อไปคือการเริ่มต้นแพ็คเกจเพื่อสร้างไฟล์ package.json ซึ่งสามารถทำได้โดยการออกคำสั่งด้านล่าง
npm init
เมื่อคุณออกคำสั่งข้างต้น คุณจะได้รับคำถามบางข้อ สิ่งที่สำคัญที่สุดคือหมายเลขเวอร์ชันสำหรับโมดูลของคุณ
ขั้นตอน 5) เผยแพร่ไปยัง GitHub – ขั้นตอนต่อไปคือการเผยแพร่ไฟล์ต้นฉบับของคุณไปยัง GitHub ซึ่งสามารถทำได้โดยการรันคำสั่งด้านล่าง
git add. git commit -m "Initial release" git tag v0.0.1 git push origin master --tags
ขั้นตอน 6) เผยแพร่โมดูลของคุณ – บิตสุดท้ายคือการเผยแพร่โมดูลของคุณไปยังรีจิสทรี npm ทำได้โดยใช้คำสั่งด้านล่าง
npm publish
การจัดการแพ็คเกจบุคคลที่สามด้วย npm
ดังที่เราได้เห็นไปแล้ว “ตัวจัดการแพ็คเกจโหนด” มีความสามารถในการจัดการโมดูลซึ่งแอปพลิเคชัน Node.js ต้องการ
มาดูฟังก์ชันบางอย่างที่มีอยู่ในตัวจัดการแพ็กเกจโหนดสำหรับการจัดการโมดูลกัน
- การติดตั้งแพ็คเกจในโหมดโกลบอล – สามารถติดตั้งโมดูลได้ในระดับโกลบอล ซึ่งโดยพื้นฐานแล้วหมายความว่าโมดูลเหล่านี้จะพร้อมใช้งานสำหรับโปรเจ็กต์ Node.js ทั้งหมดบนเครื่องท้องถิ่น ตัวอย่างด้านล่างแสดงวิธีการติดตั้ง “โมดูลด่วน” ด้วยตัวเลือกส่วนกลางnpm ติดตั้งด่วน –global ตัวเลือกสากลในคำสั่งข้างต้นคือสิ่งที่ทำให้โมดูลสามารถติดตั้งได้ในระดับโลก
- แสดงรายการแพ็คเกจสากลทั้งหมดที่ติดตั้งบนเครื่องท้องถิ่น ซึ่งสามารถทำได้โดยการรันคำสั่งด้านล่างในพร้อมท์คำสั่งรายการ npm – ทั่วโลกด้านล่างนี้คือผลลัพธ์ที่จะแสดง หากคุณได้ติดตั้ง “โมดูลด่วน” บนระบบของคุณก่อนหน้านี้ คุณสามารถดูโมดูลต่างๆ ที่ติดตั้งบนเครื่องท้องถิ่นได้ที่นี่
- การติดตั้งแพ็คเกจเวอร์ชันเฉพาะ – บางครั้งอาจมีข้อกำหนดในการติดตั้งแพ็คเกจเวอร์ชันเฉพาะ เมื่อคุณทราบชื่อแพ็กเกจและเวอร์ชันที่เกี่ยวข้องที่ต้องติดตั้งแล้ว คุณสามารถใช้คำสั่งการติดตั้ง npm เพื่อติดตั้งเวอร์ชันเฉพาะนั้นได้ ตัวอย่างด้านล่างแสดงวิธีการติดตั้งโมดูลที่เรียกว่าขีดล่างด้วยเวอร์ชันเฉพาะของการติดตั้ง 1.7.0npm ขีดล่าง@1.7.0
- การอัปเดตเวอร์ชันแพ็คเกจ – บางครั้งคุณอาจมีแพ็คเกจเวอร์ชันเก่าในระบบ และคุณอาจต้องการอัปเดตเป็นเวอร์ชันล่าสุดที่มีอยู่ในตลาด เมื่อต้องการทำเช่นนี้ เราสามารถใช้คำสั่งอัพเดต npm ตัวอย่างด้านล่างแสดงวิธีอัปเดตแพ็คเกจขีดล่างเป็นเวอร์ชันล่าสุดขีดเส้นใต้การอัปเดต npm
- การค้นหาแพ็คเกจเฉพาะ – หากต้องการค้นหาว่ามีเวอร์ชันเฉพาะนั้นอยู่ในระบบภายในหรือไม่ คุณสามารถใช้คำสั่งค้นหาของ npm ตัวอย่างด้านล่างนี้จะตรวจสอบว่าโมดูล express ได้รับการติดตั้งบนเครื่องภายในหรือไม่npm ค้นหาแบบด่วน
- การถอนการติดตั้งแพ็คเกจ - เช่นเดียวกับที่คุณสามารถติดตั้งแพ็คเกจได้ คุณสามารถถอนการติดตั้งแพ็คเกจได้เช่นกัน การถอนการติดตั้งแพ็คเกจเสร็จสิ้นด้วยคำสั่งถอนการติดตั้ง npm ตัวอย่างด้านล่างแสดงวิธีการถอนการติดตั้งโมดูล Expressnpm ถอนการติดตั้งด่วน
ไฟล์ package.json คืออะไร
ไฟล์ “package.json” ใช้เพื่อเก็บไฟล์ ข้อมูลเมตาเกี่ยวกับโครงการเฉพาะ- ข้อมูลนี้ให้ข้อมูลที่จำเป็นแก่ตัวจัดการแพ็คเกจโหนดเพื่อทำความเข้าใจวิธีจัดการโปรเจ็กต์พร้อมกับการขึ้นต่อกัน
ไฟล์ package.json มีข้อมูล เช่น คำอธิบายโปรเจ็กต์ เวอร์ชันของโปรเจ็กต์ในการเผยแพร่เฉพาะ ข้อมูลใบอนุญาต และข้อมูลการกำหนดค่า
โดยปกติไฟล์ package.json จะอยู่ที่ไดเร็กทอรีรากของโปรเจ็กต์ Node.js
ลองมาดูตัวอย่างว่าโครงสร้างของโมดูลมีลักษณะอย่างไรเมื่อติดตั้งผ่านทาง npm
สแน็ปช็อตด้านล่างแสดงเนื้อหาไฟล์ของโมดูล Express เมื่อรวมอยู่ในโปรเจ็กต์ Node.js ของคุณ จากสแน็ปช็อต คุณจะเห็นไฟล์ package.json ในโฟลเดอร์ express
หากคุณเปิดไฟล์ package.json คุณจะเห็นข้อมูลจำนวนมากในไฟล์
ด้านล่างนี้คือภาพรวมของส่วนหนึ่งของไฟล์ ที่ ด่วน@~4.13.1 กล่าวถึงหมายเลขเวอร์ชันของโมดูลด่วนที่ใช้งานอยู่
สรุป
- โมดูลใน Node.js เป็นการห่อหุ้มโค้ดแบบลอจิคัลในหน่วยเดียว การแยกออกเป็นโมดูลทำให้โค้ดสามารถจัดการและบำรุงรักษาได้มากขึ้นเพื่อวัตถุประสงค์ในอนาคต
- มีโมดูลมากมายในตลาดที่สามารถใช้ได้ภายใน Node.js เช่น express, underscore, MongoDBฯลฯ
- ตัวจัดการแพ็กเกจโหนด (npm) ใช้เพื่อดาวน์โหลดและติดตั้งโมดูลซึ่งสามารถใช้ในแอปพลิเคชัน Node.js ได้
- เราสามารถสร้างโมดูล NPM แบบกำหนดเอง ขยายโมดูลเหล่านี้ และยังเผยแพร่โมดูลเหล่านี้ได้อีกด้วย
- ตัวจัดการแพ็กเกจ Node มีชุดคำสั่งที่สมบูรณ์เพื่อจัดการโมดูล npm บนระบบภายในเครื่อง เช่น การติดตั้ง การถอนการติดตั้ง การค้นหา เป็นต้น
- ไฟล์ package.json ใช้เพื่อเก็บข้อมูลเมตาดาต้าทั้งหมดสำหรับโมดูล npm