如何更改电子锻造默认端口?
Posted
技术标签:
【中文标题】如何更改电子锻造默认端口?【英文标题】: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
;
【问题讨论】:
【参考方案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
【讨论】:
以上是关于如何更改电子锻造默认端口?的主要内容,如果未能解决你的问题,请参考以下文章