在安装ElectronJS应用程序期间安装节点模块

时间:2018-01-29 12:24:16

标签: javascript npm electron desktop-application node-modules

所以,我正在为开发人员构建一个ElectronJS应用程序。这将检查计算机上是否安装了NodeJS。如果没有,它将下载并安装NodeJS最新版本,最后继续安装应用程序。

同样在安装电子应用程序期间,我想全局检查,下载并安装一些node_modules。

这是为了确保用户拥有可用于初始安装的所有工具,而无需单独安装。

我如何实现这一目标?

请确保此流程是跨平台的(Windows,Linux和MAC)

1 个答案:

答案 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,它也只是在后台生成子进程,但为用户/开发人员提供了一个更简单的界面。