从node.js脚本编程调用npm

我正在编写一个自定义的命令行界面(CLI)来pipe理一些其他要用npm安装或卸载的软件包。 用spawn('npm')还是require('npm')来调用npm会更好?

 require('child_process').spawn; var _npm = process.platform === 'win32' ? 'npm.cmd' : 'npm'; var npm = spawn(_npm, ['install', source]); 

要么:

 require('npm').commands.install(source, function (err, data) { ... }); 

我已经有了spawn方法,但已经在Windows上spawn了一个问题。 想知道如果使用require('npm')将有助于缓解其他不可预见的问题?

除了缺less文档之外,切换到require('npm')还有什么主要的缺点吗?

require('npm')将有助于缓解其他不可预见的问题?

通常是的,如果一些库提供了一个直接的JavaScript API,这将是与您自己的JavaScript程序集成的首选选项。

文档在这里 。 我同意他们有点苗条,但是如果你了解命令行界面,这个API将会变得非常有意义。 再加上它是开源的,所以不要害怕阅读源代码。