在Atom Electron中使用Express

art*_*kay 12 javascript node.js express electron

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

在调试中运行电子:

/path/to/electron/Electron.app/Contents/MacOS/Electron path-to-my-app
Run Code Online (Sandbox Code Playgroud)

我的应用运行完美.Express启动它的服务器,一切正常 - 主窗口正确打开使用mainWindow.loadUrl('http://localhost:3000/');

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

/path/to/electron/Electron.app/Contents/Resources/app
Run Code Online (Sandbox Code Playgroud)

但是现在当我运行Electron.app时,我会Cannot GET /在主窗口看到......但我不明白为什么.

有任何想法吗?

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

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

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

art*_*kay 19

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

而不是使用:

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

我反而使用这个:

expressApp.use(express.static(path.join(__dirname, 'workspace')));
Run Code Online (Sandbox Code Playgroud)

  • 几个月前你已经发布了这个,我很想知道你是否仍然认为使用带有expressjs的电子是可行的选择? (4认同)