Использование Express внутри Atom Electron

У меня есть приложение, использующее Express, и я пытаюсь его распространять с помощью electron.

Запуск электрона при отладке:

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

Мое приложение работает отлично. Express запускает свой сервер, и все работает - главное окно открывается правильно, используя mainWindow.loadUrl('http://localhost:3000/');

Когда я следую инструкциям по распространению (связанным ранее), я копирую свои ресурсы приложения:

/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'));

Но если это так, я не знаю, как обойти это.

Ответ 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')));

Ответ 2

Не используйте process.cwd, используйте process.resourcesPath.