如何使用参数运行电子应用程序?

时间:2016-09-06 12:26:28

标签: node.js npm electron

我的应用是电子版,reply加载了本地网页index.html 我调用BrowserWindow脚本运行npm run start,应用程序打开并加载html 我可以在脚本中添加一个参数,将不同的html文件加载到electron main.js吗?

在main.js文件中,代码为:

BrowserWindow

3 个答案:

答案 0 :(得分:3)

传递参数的方式是一样的,你唯一需要注意的是电子路径。在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.在您的应用中只需包含遥控器并使用此sharedObject

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

    console.log(arguments);

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

来源:https://discuss.atom.io/t/how-to-pass-command-arguments-in-electron/17247

答案 1 :(得分:0)

UninstallDisplayName

这使您可以为程序中的条目指定自定义名称。 添加/删除程序控制面板小程序。该值可能包括 常数。如果该指令未指定或为空,安装程序将 使用名称 [Setup] 部分的指令 AppVerName

"build": {
  "nsis": {
    "uninstallDisplayName": "Your app name..."
  }
}

了解详情:

NSIS

UninstallDisplayName

答案 2 :(得分:0)

要将命令行参数传递给电子应用程序:

./node_modules/.bin/electron main.js --arg1=value --arg2=value

可以在 main.js 中检索它:

import { app } from "electron";
app.commandLine.getSwitchValue("arg1");
app.commandLine.getSwitchValue("arg2");