[英]Serve static files with express from within electron-forge app
我編寫了一個快速的Electron Forge應用程序,它只運行一個快速網絡服務器,在本地提供 static 文件。 為了可用性,我更喜歡直接運行節點進程。
main.js
import { app, BrowserWindow } from 'electron';
import express from 'express';
const exApp = express();
exApp.use(express.static('web-app'));
exApp.listen(3333);
let mainWindow;
const createWindow = () => {
// Create the browser window.
mainWindow = new BrowserWindow({
// ...
});
// ...
};
// ...
我使用CopyWebpackPlugin將需要提供的文件復制到.webpack/main/web-app/
目錄中。
webpack.main.config.js
module.exports = {
/**
* This is the main entry point for your application, it's the first file
* that runs in the main process.
*/
entry: './src/main.js',
// Put your normal webpack config below here
module: {
rules: require('./webpack.rules'),
},
plugins: [
new CopyPlugin([
{ from: path.resolve(__dirname, 'web-app'), to: 'web-app' }
]),
]
};
這在開發中非常有效(通過yarn start
)。
當我嘗試運行yarn make
時,它成功構建了應用程序並生成了一個可運行的 exe,但在運行應用程序后嘗試訪問http://localhost:3333/
時,會導致Cannot GET /
404 消息。
知道我做錯了什么嗎?
我在開發中服務的實際上是相對於節點進程的web-app
目錄,而不是復制到.webpack/...
的目錄。
為了在生產中提供正確的文件,我將exApp.use()
行更改為:
exApp.use(express.static('resources/app/.webpack/main/web-app'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.