【问题标题】:How to change electron-forge default port?如何更改电子锻造默认端口?
【发布时间】:2020-06-14 12:46:10
【问题描述】:

我在他们的网站/文档中的任何地方都找不到关于此的参考。我需要把它改成另一个端口,目前它卡在 3000。

这是我使用electron-forge 创建电子项目的方法

yarn create electron-app my-new-app --template=typescript

并且每当端口 3000 中有另一个服务时。它会抛出一个错误:

listen EADDRINUSE :::3000
Error: listen EADDRINUSE :::3000
    at Server.setupListenHandle [as _listen2] (net.js:1360:14)

我的webpack.main.config.js 文件:

const path = require('path');
module.exports = {
  entry: './src/index.ts',
  // Put your normal webpack config below here
  module: {
    rules: require('./webpack.rules')
  },
  resolve: {
    extensions: ['.js', '.ts', '.jsx', '.tsx', '.css', '.json']
  },
  devServer: {
    contentBase: path.join(__dirname, 'dist'),
    compress: true,
    port: 9000
  }
};

【问题讨论】:

    标签: node.js reactjs electron electron-builder electron-forge


    【解决方案1】:

    我刚开始使用 electron-forge 并遇到了同样的问题,并且电子/webpack 似乎忽略了我的 devServer.port 值。

    在找到this doc for the electron-forge config 之后,我意识到devServer.port 可能被电子伪造覆盖了,并且配置的值是在package.json 中设置的。这是我的:

    {
      "name": "my-project",
      // ...
      "config": {
        "forge": {
          "packagerConfig": {},
          "makers": [
            // ...
          ],
          "plugins": [
            [
              "@electron-forge/plugin-webpack",
              {
                "mainConfig": "./webpack.main.config.js",
                "renderer": {
                  "config": "./webpack.renderer.config.js",
                  "entryPoints": [
                    {
                      "html": "./src/index.html",
                      "js": "./src/renderer.js",
                      "name": "main_window"
                    }
                  ]
                },
    
                // the secret sauce:
                "port": 3001,
                "loggerPort": 9001
              }
            ]
          ]
        }
      }
    }
    

    【讨论】:

      【解决方案2】:

      按照此处的说明为您的项目设置 Webpack 配置(如果尚未完成):https://www.electronforge.io/config/plugins/webpack

      然后,按照此处的说明更改devServer.port 选项:https://webpack.js.org/configuration/dev-server/

      【讨论】:

      • devServer 在哪里?我的webpack.main.config.js 文件没有,如果我添加devServer,它会被电子忽略。仍在运行 3000
      • 当您添加 devServer 及其选项时它应该可以工作。您可以发布您的 webpack 配置的副本吗?
      • 好的,我添加了我的 webpack 配置
      【解决方案3】:

      作为对这个问题的更新,我无法复制最受好评的答案,并最终通过在另一篇文章中实现此答案,以稍微不同的方法更改了默认端口。

      Electron-forge with webpack devServer

      【讨论】:

        猜你喜欢
        • 2021-05-05
        • 1970-01-01
        • 2015-05-24
        • 2016-11-02
        • 2011-10-19
        • 1970-01-01
        • 2020-10-08
        • 2019-09-08
        • 2021-09-03
        相关资源
        最近更新 更多