gpt4 book ai didi

javascript - 运行时电子包中的 SPAWN Node ENOENT 错误

转载 作者:行者123 更新时间:2023-12-05 05:19:41 33 4
gpt4 key购买 nike

我已经构建了一个 node.js、express.js 应用程序、electron 应用程序和操作系统 Windows。我已经通过教程打包了电子应用程序:How to package an electron app

win32打包成功,无任何警告或错误。
但是,当我尝试从 dist 文件夹运行 app.exe 文件时,尽管显示了主应用程序窗口,但我看不到 express.js 应用程序文件夹中的任何内容。
我的应用程序文件夹结构是:

app-root<br>
- express-app
- bin
- www
- node_modules
- public
- routes
- views
- app.js
- package.json
- node_modules
- build
- index.html
- main.js
- package.json
- start-electron.js
- dist<br>

现在 electron中的node.js,express.js app在打包前运行正常。应用程序打包后无法从 exe 文件运行。

这是包 .exe 文件的控制台错误:

events.js:163 Uncaught Error: spawn node ENOENT
at exports._errnoException (util.js:1050:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
at onErrorNT (internal/child_process.js:367:16)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)

我在 index.html 中有 SPAWN 函数:

  spawn = require("child_process").spawn,
app = require('electron').remote.app,
node = spawn("node", ["./express-app/bin/www"], {
cwd: app.getAppPath()
})

我们将不胜感激任何形式的帮助。

最佳答案

我在一个使用 Node.js、Express.js 和 Electron 的应用程序中找到了一个不需要 SPAWN 的解决方案。即使在打包 electron 应用程序后也能完美运行。

这是其 GitHub 存储库的链接:

GitHub repository for the solution's boilerplate.

要记住的一件事是,在通过像electron-builder这样的第三方打包器打包电子应用程序之后。有必要将 config.json 文件放入打包文件所在的新分发/dist 文件夹中,否则它会在应用程序上抛出 config.json not found 错误执行。

关于javascript - 运行时电子包中的 SPAWN Node ENOENT 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45668292/

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