electron 如何更改电子伪造的默认端口?

zz2j4svz  于 2023-06-20  发布在  Electron
关注(0)|答案(4)|浏览(279)

我在他们的网站/文档中找不到关于这方面的参考资料。我需要把这个换到另一个端口,目前它卡在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
  }
};
qfe3c7zg

qfe3c7zg1#

我刚开始使用electron-forge,遇到了同样的问题,似乎electron/webpack忽略了我的devServer.port值。
在找到this doc for the electron-forge config之后,我意识到devServer.port可能被electron-forge覆盖了,配置的值在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
          }
        ]
      ]
    }
  }
}
z4bn682m

z4bn682m2#

作为这个问题的更新,我无法复制最高评级的答案,最终通过实现另一篇文章中的答案,用稍微不同的方法更改了默认端口。
Electron-forge with webpack devServer

jtw3ybtb

jtw3ybtb3#

$ PORT=3050 npm run dev工作正常

7cwmlq89

7cwmlq894#

按照此处的说明为您的项目设置Webpack配置(如果尚未完成):https://www.electronforge.io/config/plugins/webpack
然后,按照此处的说明更改devServer.port选项:https://webpack.js.org/configuration/dev-server/

相关问题