เป็นไปได้ที่จะใช้npm แบบเป็นโปรแกรมและมีการระบุไว้ในเอกสารประกอบฉบับแก้ไขรุ่นเก่า ตั้งแต่นั้นมาได้ถูกลบออกจากเอกสารอย่างเป็นทางการ แต่ยังคงมีอยู่ในการควบคุมแหล่งที่มาด้วยคำสั่งต่อไปนี้:
แม้ว่าจะสามารถใช้ npm แบบเป็นโปรแกรมได้ แต่ API นั้นมีไว้สำหรับใช้โดย CLI เท่านั้นและไม่มีการรับประกันใด ๆ เกี่ยวกับความเหมาะสมสำหรับวัตถุประสงค์อื่นใด หากคุณต้องการใช้ npm เพื่อทำงานบางอย่างอย่างน่าเชื่อถือสิ่งที่ปลอดภัยที่สุดที่ต้องทำคือเรียกใช้คำสั่ง npm ที่ต้องการพร้อมอาร์กิวเมนต์ที่เหมาะสม
npm เวอร์ชันความหมายหมายถึง CLI เองแทนที่จะเป็น API ที่อยู่ภายใต้ API ที่ภายในไม่รับประกันว่าจะยังคงมีเสถียรภาพแม้ในขณะที่รุ่น NPM บ่งชี้ว่าไม่มีการเปลี่ยนแปลงทำลายได้รับการทำตาม semver
ในเอกสารต้นฉบับต่อไปนี้เป็นตัวอย่างโค้ดที่ให้มา:
var npm = require('npm')
npm.load(myConfigObject, function (er) {
if (er) return handlError(er)
npm.commands.install(['some', 'args'], function (er, data) {
if (er) return commandFailed(er)
})
npm.registry.log.on('log', function (message) { ... })
})
เนื่องจากมีnpmอยู่ในnode_modules
โฟลเดอร์คุณจึงใช้require('npm')
โหลดได้เหมือนกับโมดูลอื่น ๆ npm.commands.install()
การติดตั้งโมดูลที่คุณจะต้องการใช้
หากคุณต้องการดูในแหล่งที่มามันก็อยู่ในGitHubเช่นกัน นี่คือตัวอย่างการทำงานที่สมบูรณ์ของโค้ดซึ่งเทียบเท่ากับการทำงานnpm install
โดยไม่มีอาร์กิวเมนต์บรรทัดคำสั่ง:
var npm = require('npm');
npm.load(function(err) {
npm.commands.install(['ffi'], function(er, data) {
});
npm.on('log', function(message) {
console.log(message);
});
});
โปรดสังเกตว่าอาร์กิวเมนต์แรกของฟังก์ชันการติดตั้งคืออาร์เรย์ แต่ละองค์ประกอบของอาร์เรย์เป็นโมดูลที่npmจะพยายามติดตั้ง
การใช้งานขั้นสูงเพิ่มเติมสามารถพบได้ในnpm-cli.js
ไฟล์ในการควบคุมแหล่งที่มา
npm install npm --save
ก่อน ตัวอย่างใช้งานได้ดี :)