web-dev-qa-db-ja.com

電子でコマンドライン引数を渡す方法

電子を使い始めたばかりです。 npm startを使用してelectronを実行しているときに、コマンドライン引数をelectronに渡す方法に疑問があります。

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で動作しています。これを電子で機能させる方法を知る必要があります。

誰かがこれに対する解決策を教えてもらえますか?

10
Hussian Shaik

引数を渡す方法は同じです。注意しなければならないのは電子の経路だけです。 package.jsonではその記述されたnpmstartはelectron main.jsを実行します。したがって、このコマンドを明示的に実行し、「電子の適切なパス」、つまり./node_modules/.bin/electronを使用して引数を渡す必要があります。次に、コマンドは次のようになります

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

process.argvmain.jsでアクセスできるこれらの引数

アプリでこれらのパラメーターにアクセスしたい場合は、次のことを行う必要があります。

1.main.jsで次のような変数を定義します

     global.sharedObject = {prop1: process.argv}

2.アプリでリモートをlincludeし、これを使用しますsharedObject

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

    console.log(arguments);

3.出力は["argv1", "argv2"]になります

13
Tripathi29