簡體   English   中英

使用電子鍛造應用程序中的快遞服務 static 文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM