我试图在执行时将命令行参数传递给我已经打包的应用程序。 (已经与电子制造商打包并在我的mac上安装了.dmg)
我导航到应用程序可执行文件所在的/Applications/myApp.app/Contents/MacOS
文件夹。然后我跑了。
exec myApp --myNewArgument theFancyValue
出于某种原因" myNewArgument"没有出现在我的process.argv数组中。
我错过了什么吗?我认为论证会自动传递给我的电子主要过程。
我感谢任何帮助。
答案 0 :(得分:3)
是的,传递的命令行参数出现在process.argv
数组中,但仅来自主进程。
从渲染器进程,您需要使用remote.process访问主进程参数:
require('electron').remote.process.argv
答案 1 :(得分:0)
对于打包的电子应用程序源,可以使用以下函数访问命令行参数。假设我们是否已将命令行参数传递为--myNewArgument=theFancyValue
。可以在 main.js 中找到它:
import { app } from "electron";
app.commandLine.getSwitchValue("myNewArgument");
这也适用于开发模式。