在 Atom Electron 中使用 Express

Using Express inside Atom Electron

我有一个应用程序 运行ning Express,我正在尝试使用 electron.

分发它

运行 electron 正在调试中:

/path/to/electron/Electron.app/Contents/MacOS/Electron path-to-my-app

我的应用程序 运行 非常好。 Express 启动了它的服务器,一切正常——主 window 使用 mainWindow.loadUrl('http://localhost:3000/');

正确打开

当我遵循 分发 教程(之前链接)时,我将我的应用程序资源复制到:

/path/to/electron/Electron.app/Contents/Resources/app

但现在当我 运行 Electron.app 时,我在主要 window 中看到 Cannot GET /...但我不知道为什么。

有什么想法吗?

我唯一的想法是 process.cwd() 没有正确帮助我在此处定义文档根目录:

//configure Express to default web requests to /workspace/ folder
expressApp.use(express.static(process.cwd() + '/workspace'));

但如果是这样,我不知道如何解决它。

不要使用 process.cwd,而是使用 process.resourcesPath

事实证明 express 出于某种原因不喜欢我的文档根映射。

而不是使用:

//configure Express to default web requests to /workspace/ folder
expressApp.use(express.static(process.cwd() + '/workspace'));

我改用这个:

expressApp.use(express.static(path.join(__dirname, 'workspace')));