gpt4 book ai didi

macos - 在没有 GUI 的情况下运行 Electron

转载 作者:行者123 更新时间:2023-12-03 12:20:11 26 4
gpt4 key购买 nike

我看到这个问题 has been asked但是这个问题的上下文是不同的,所以没有与我的用例相关的答案,所以我在问一个新问题

我有一个 Electron based Web Server .它适用于不习惯命令行的 Web 开发人员、学生和艺术家的初学者(是的,这是一场激烈的辩论,但我被 UCLA 艺术与设计学院的老师责骂,因为我要求他们的学生使用命令行,因此是一个带有 GUI 的简单服务器。请不要争论这一点。这不是问题的重点)

在任何情况下,使用此 Web 服务器的人有时希望在端口 80 上运行。在 Mac(和 Linux?)端口 80 需要管理员权限,因此我想升级服务器的权限来执行此操作。

我的理解是最简单(唯一?)的方法是产生另一个进程。由于我的 Web 服务器的服务器部分是用 node.js 有效编写的,并且由于 node.js(或至少是 API)内置于 Electron 中,因此似乎最好的解决方案是重新生成我的 Electron 应用程序以运行只有服务器部分。

换句话说,想象一下我可以像这样运行应用程序

/Applications/Servez.app/Contents/MacOS/Servez --no-gui --server-only --port 80

然后我可以在 Mac 上使用一些 spawn 命令,比如
/usr/bin/osascript -e '
do shell "/Applications/Servez.app/Contents/MacOS/Servez --no-gui --server-only --port 80" with administrator privileges
'

并且 macOS 在运行服务器之前会要求管理员权限。

如果我不能在没有 GUI 的情况下运行 Electron,那么我可以在 Electron 包中包含 node.js 的副本,但鉴于 Electron 中已经包含相同的功能,这似乎是一种巨大的空间浪费。或者也许还有其他解决方案? (我可以进行一些 API 调用来请求使用端口 80 的权限?)

最佳答案

设置环境变量 ELECTRON_RUN_AS_NODE将 Electron 作为节点运行,因此我可以在生成 Electron 时设置该环境变量

关于macos - 在没有 GUI 的情况下运行 Electron,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47957517/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com