webpack-dev-server无法找到localhost

时间:2016-03-02 20:52:59

标签: npm localhost webpack mamp webpack-dev-server

我尝试使用 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 ,我不知道这可能是问题的一部分吗?

8 个答案:

答案 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"
    },
  })
);