我正在编写一个自定义命令行界面(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')是否有任何重大缺点?
答案 0 :(得分:0)
require('npm')有助于缓解其他不可预见的问题吗?
通常是的,如果某个库提供了直接的JavaScript API,那么它将成为与您自己的javascript程序集成的首选选项。
docs are here。我同意他们有点苗条,但是如果你理解了命令行界面,那么API将会很有意义。另外它是开源的,所以不要害怕阅读源代码。