【问题标题】:Using Express inside Atom Electron在 Atom Electron 中使用 Express
【发布时间】:2015-07-03 15:38:58
【问题描述】:

我有一个运行 Express 的应用程序,我正在尝试使用 electron 分发它。

在调试中运行电子:

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

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

当我按照 distribution 教程(之前链接)时,我将我的应用程序资源复制到:

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

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

有什么想法吗?

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

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

但如果是这样的话,我不知道如何绕过它。

【问题讨论】:

  • 您能否提供一个使用平均堆栈的电子应用程序的工作示例?我想从中学习。

标签: javascript node.js express electron


【解决方案1】:

原来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')));

【讨论】:

  • 你几个月前已经发布了这个,我很想知道你是否仍然认为将电子与 expressjs 一起使用是一个可行的选择?
【解决方案2】:

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

【讨论】:

  • process.cwd 引起了问题,但 resourcesPath 也没有解决我的问题。
  • 无论你的应用在哪里,都可以使用app.getAppPath()获取应用路径。适用于开发和生产
猜你喜欢
  • 2015-09-19
  • 1970-01-01
  • 2020-06-16
  • 1970-01-01
  • 2016-01-01
  • 2015-10-04
  • 2016-01-01
  • 2015-12-22
  • 2016-03-09
相关资源
最近更新 更多