尝试在 webpack-dev-server 上将端口更改为 80 会出错
Posted
技术标签:
【中文标题】尝试在 webpack-dev-server 上将端口更改为 80 会出错【英文标题】:Trying to change port to 80 on webpack-dev-server gives error 【发布时间】:2017-09-07 04:02:05 【问题描述】:我的包 json 中有这个:
webpack-dev-server --config config/webpack.config.js --port 80
我也尝试将端口添加到配置中,如下所示:
devServer:
historyApiFallback: true,
host: '0.0.0.0',
port: '80',
,
它给出了同样的错误:
webpack-dev-server --config config/webpack.config.js --port 80
loader option has been deprecated - replace with "use"
events.js:163
throw er; // Unhandled 'error' event
^
Error: listen EACCES 127.0.0.1:80
at Object.exports._errnoException (util.js:1034:11)
at exports._exceptionWithHostPort (util.js:1057:20)
at Server._listen2 (net.js:1257:19)
at listen (net.js:1306:10)
at doListening (net.js:1421:7)
at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:10)
对我做错的事情或与错误相关的任何帮助表示赞赏。谢谢
【问题讨论】:
普通用户不能绑定80端口,1024以下的端口需要root/adminstrator权限。这就是为什么这些进程一般都使用3000或8080之类的端口。为什么要在80端口上运行呢? 如果你在 Mac 上,会使用 sudo help 吗? sudo webpack-dev-server --config config/webpack.config.js --port 80 【参考方案1】:我使用的是 Ubuntu,并且在端口 80 上遇到了完全相同的问题。在“npm run dev”前面添加“sudo”后,问题就消失了。
【讨论】:
【参考方案2】:如何解决
您需要使用 sudo 以 root 身份运行,或者设置一个代理,将端口 80 上的请求重定向到超过 1024 的端口。
为什么它不起作用
普通用户无法监听低于 1024 的端口,因此无法监听 80 端口。
【讨论】:
以上是关于尝试在 webpack-dev-server 上将端口更改为 80 会出错的主要内容,如果未能解决你的问题,请参考以下文章
用于 CORS 请求的 webpack-dev-server 配置
当我尝试运行我的 webpack-dev-server 时,它给了我以下错误,找不到该模块
尝试在运行 docker-toolbox 的 Windows 上使用 docker-compose 在 docker 容器内运行 webpack-dev-server 时出现“来自服务器的空回复”