编程使用npm从nodejs构build脚本

我有一个包含多个节点应用程序端点的大项目,每个都有自己的package.json文件。

我有一个主要的构build脚本(写在杰克),它build立了一个给定的环境,运行testing,打包应用程序等。

那么有没有一种方法让root的构build脚本在给定的目录上运行“npm install”。

我期望psudo代码将是:

var npm = require("npm"); var package1Directory = "some-directory"; npm.install(packageDirectory); 

找不到任何文件,但不知道是否有可能…是这样吗?

是的,看看文档 :

 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.on("log", function (message) { .... }) }) 

也看看这个例子 ,它提供了一些关于如何以编程方式使用npm更多见解。