所以,我正在为开发人员构建一个ElectronJS应用程序。这将检查计算机上是否安装了NodeJS。如果没有,它将下载并安装NodeJS最新版本,最后继续安装应用程序。
同样在安装电子应用程序期间,我想全局检查,下载并安装一些node_modules。
这是为了确保用户拥有可用于初始安装的所有工具,而无需单独安装。
我如何实现这一目标?
请确保此流程是跨平台的(Windows,Linux和MAC)
答案 0 :(得分:1)
有多种方法可以达到你想要的效果。
首先,您可以从Node生成child process,它只运行安装所需包的npm命令。
另一种方法是以编程方式使用npm。一个例子如下:
var npm = require('npm');
npm.load({ 'global': true }, function (err) {
if (err) console.log(err);
npm.commands.install(['hello-world'], function (err, data) {
if (err) return console.error(err)
});
});
这不是真正推荐的,因为对程序化API没有真正的支持。
最后但并非最不重要的是,有些软件包也会以编程方式为您处理npm,例如npm-programmatic,它也只是在后台生成子进程,但为用户/开发人员提供了一个更简单的界面。