2015-04-24 48 views
11

我有一個運行Express的應用程序,我試圖使用electron分發它。在原子電子中使用Express Express

在調試運行電子與此:

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

我的應用程序運行完全正常。快火了它的服務器,一切工作 - 主窗口打開正確使用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

能否請您提供使用平均堆棧電子應用的工作示例?我想從中學習。 – Vishal

回答

17

事實證明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'))); 
+4

您幾個月前發佈過這篇文章,我很想知道您是否仍然認爲在expressjs中使用電子是一種可行的選擇? –

+5

是的,使用Express和Electron很棒! – arthurakay

+1

非常有幫助。謝謝。 – seongjoo

1

請勿使用process.cwd,請改爲使用process.resourcesPath

+1

'process.cwd'導致了問題,但'resourcesPath'也沒有解決我的問題。 – arthurakay

+0

無論您的應用程序位於何處,您都可以使用'app.getAppPath()'獲取應用程序路徑。在開發和生產過程中都可以使用 –

相關問題