首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电子Windows产品束命令行参数

电子Windows产品束命令行参数
EN

Stack Overflow用户
提问于 2021-04-12 14:27:01
回答 1查看 321关注 0票数 0

我正在使用electron-builder在macOS上构建一个电子应用程序。

在我的代码中,我访问命令行args如下所示:

代码语言:javascript
复制
const cmd = electron.remote.app.commandLine;

const val = cmd.hasSwitch('myArg')
        ? cmd.getSwitchValue('myArg')
        : undefined;

当提供参数时,这对于在macOS上构建的生产很好:

代码语言:javascript
复制
./my-electron-app.app/Contents/MacOS/my-electron-app --myArg=foo

// or:
open my-electron-app.app --args -myArg=foo

但是在Windows上我不能让它正常工作。

下面是我尝试使用cmd.exe的方法

代码语言:javascript
复制
my-electron-app.exe --myArg=foo
my-electron-app.exe -myArg=foo
my-electron-app.exe /myArg=foo
my-electron-app.exe myArg=foo

在记录electron.remote.process.argv[1]时,我可以看到在macOS Windows、上传递的参数,但是 hasSwitchgetSwitchValue不会给出值。

我做错了什么?还是有更好的方法让跨平台命令行参数工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-14 15:08:05

我猜这是因为你的开关上有大写字母。见封闭式发行:

这是故意的。Chromium是CommandLine类的直接包装器,它的行为是故意的。

来自铬源

开关名必须是小写。

虽然我还不完全清楚为什么Mac没有遇到同样的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67060220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档