Thực sự có thể sử dụng npm theo lập trình, và nó đã được nêu trong các bản sửa đổi cũ hơn của tài liệu. Nó đã bị xóa khỏi tài liệu chính thức, nhưng vẫn tồn tại trên kiểm soát nguồn với tuyên bố sau:
Mặc dù npm có thể được sử dụng theo chương trình, nhưng API của nó chỉ dành cho CLI và không có đảm bảo nào được đưa ra về tính phù hợp của nó cho bất kỳ mục đích nào khác. Nếu bạn muốn sử dụng npm để thực hiện một số tác vụ một cách đáng tin cậy, điều an toàn nhất cần làm là gọi lệnh npm mong muốn với các đối số thích hợp.
Phiên bản ngữ nghĩa của npm đề cập đến chính CLI, thay vì API cơ bản. API nội bộ không được đảm bảo sẽ duy trì ổn định ngay cả khi phiên bản của npm chỉ ra rằng không có thay đổi vi phạm nào được thực hiện theo semver .
Trong tài liệu gốc, sau đây là mẫu mã đã được cung cấp:
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)
// command succeeded, and data might have some info
})
npm.registry.log.on('log', function (message) { ... })
})
Vì npm tồn tại trong node_modules
thư mục, bạn có thể sử dụng require('npm')
để tải nó giống như bất kỳ mô-đun nào khác. Để cài đặt một mô-đun, bạn sẽ muốn sử dụng npm.commands.install()
.
Nếu bạn cần tìm nguồn thì nó cũng có trên GitHub . Đây là một ví dụ hoạt động hoàn chỉnh của mã, tương đương với việc chạy npm install
mà không có bất kỳ đối số dòng lệnh nào:
var npm = require('npm');
npm.load(function(err) {
// handle errors
// install module ffi
npm.commands.install(['ffi'], function(er, data) {
// log errors or data
});
npm.on('log', function(message) {
// log installation progress
console.log(message);
});
});
Lưu ý rằng đối số đầu tiên của hàm cài đặt là một mảng. Mỗi phần tử của mảng là một mô-đun mà npm sẽ cố gắng cài đặt.
Sử dụng nâng cao hơn có thể được tìm thấy trong npm-cli.js
tệp kiểm soát nguồn.
npm install npm --save
trước. Ví dụ làm việc :) lớn