我尝试使用 webpack 开始使用 React ,但在尝试设置 webpack-dev-时仍然遇到错误服务器即可。我跑了
npm install webpack-dev-server
接着是
webpack-dev-server
并且命令行返回以下内容:
events.js:154
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND localhost
at errnoException (dns.js:26:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:77:26)
有关这里发生的事情的任何线索?
我真的不知道webpack如何尝试搜索问题的根源,但我也在使用PHP在80端口开发了一个网站 MAMP ,我不知道这可能是问题的一部分吗?
答案 0 :(得分:21)
解决了,结果我的主机文件(在mac上的/ etc / hosts下找到)丢失了一行,因此webpack找不到localhost。我将其恢复为these instructions之后的默认值,现在可以正常使用了!
答案 1 :(得分:6)
该错误的最常见原因是您还有其他已使用该端口的内容。尝试在另一个端口上启动它。
webpack-dev-server --port 3001
答案 2 :(得分:5)
确保您的/ etc / hosts文件包含localhost。
打开/etc/hosts
$ sudo vi /etc/hosts
复制并粘贴它,如果它丢失了:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
答案 3 :(得分:3)
即使在恢复主机文件并尝试使用其他端口后,也无法为我工作。我开始工作的方式是在启动服务器时提供自定义主机(127.0.0.1)和端口(3001或任何其他可用的):
webpack-dev-server --host 127.0.0.1 --port 3001
答案 4 :(得分:1)
同时检查/ etc / hosts是否还有127.0.0.1指向localhost。
答案 5 :(得分:1)
也遇到了同样的错误而没有修复它。
在我的情况下,似乎我在没有/etc/hosts
权限的情况下写入sudo
文件时意外“损坏”了cat /etc/hosts
文件。
线索是当我sudo
输出是一条凌乱的线。我删除并重新创建了文件SELECT * FROM <table name> WHERE ID = 1683
,使用@ lizzie-cd链接,所有内容都恢复正常
答案 6 :(得分:0)
在最新的mac和linux操作系统中,仅在添加了
后,webpack开发服务器才会正常运行host: "127.0.0.1"
在devServer
中的webpack.config
内
答案 7 :(得分:0)
主机文件很好。进入 web/dev.js 并将文件更新为以下内容为我解决了这个问题。仍然不知道为什么。
const webpack = require('webpack');
const merge = require('webpack-merge');
const path = require('path');
const { buildConfig, APP_PATH, WEB_PATH } = require('./common');
module.exports = (env, argv) => (
merge(buildConfig(env, argv), {
entry: path.join(WEB_PATH, 'index.hmr.js'),
devtool: 'inline-source-map',
plugins: [
new webpack.HotModuleReplacementPlugin(),
],
devServer: {
contentBase: APP_PATH,
openPage: '',
inline: true,
stats: 'minimal',
open: true,
port: 3001,
hot: true,
host: "127.0.0.1"
},
})
);