从node.js脚本以编程方式调用npm

时间:2014-04-10 13:36:56

标签: javascript node.js npm

我正在编写一个自定义命令行界面(CLI)来管理要使用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')是否有助于缓解其他无法预料的问题?

除了缺少文档之外,切换到`require('npm')是否有任何重大缺点?

1 个答案:

答案 0 :(得分:0)

  

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

通常是的,如果某个库提供了直接的JavaScript API,那么它将成为与您自己的javascript程序集成的首选选项。

docs are here。我同意他们有点苗条,但是如果你理解了命令行界面,那么API将会很有意义。另外它是开源的,所以不要害怕阅读源代码。