如何在电子中传递命令行参数

时间:2015-06-13 05:30:39

标签: node.js electron

我刚开始使用电子。当我使用electron运行电子时,我怀疑如何在npm start中传递命令行参数。

我在Node.js使用:node server.js one two=three four 命令提示符:

var arguments = process.argv.slice(2);
arguments.forEach(function(val,index, array) {
  console.log(index + ': ' + val);
}); 

Node.js正在运作。我需要知道如何才能在电子学中完成这项工作。

有人可以为此提供解决方案吗?

1 个答案:

答案 0 :(得分:12)

传递参数的方式是一样的,你唯一需要注意的是电子路径。在package.json中,其编写的npm开始执行electron main.js。因此,您必须明确地执行此命令并使用“正确的电子路径”传递参数,即./node_modules/.bin/electron。然后命令将是

./node_modules/.bin/electron main.js argv1 argv2

以及process.argv

main.js可以访问的这些参数

如果您希望在应用中访问这些参数,则可以执行以下操作:

1.在你的main.js中定义一个像

这样的变量
     global.sharedObject = {prop1: process.argv}

2.在你的应用程序中只需linclude remote并使用此sharedObject

    var remote = require('electron').remote,
      arguments = remote.getGlobal('sharedObject').prop1;

    console.log(arguments);

3.输出为["argv1", "argv2"]