【问题标题】:webpack-dev-server can't find localhostwebpack-dev-server 找不到本地主机
【发布时间】:2016-06-15 22:19:43
【问题描述】:

我正在尝试使用 webpack 开始使用 React,但是当我尝试设置 webpack-dev-server。我跑了

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 上开发一个网站,我不知道不知道这是否是问题的一部分?

【问题讨论】:

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


    【解决方案1】:

    已解决,原来我的 hosts 文件(在 mac 上的 /etc/hosts 下找到)缺少一行,因此 webpack 找不到 localhost。我在these instructions 之后将其恢复为默认值,现在它可以工作了!

    【讨论】:

    • 好东西。我的主机是空的 - 奇怪的是 webpack-dev-server 正在工作,但 'electron-webpack dev' 没有!
    • 同样如此,我的主机也神秘地空了!
    【解决方案2】:

    确保您的 /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】:

      该错误的最常见原因是您有其他东西已经在使用该端口。尝试在另一个端口上启动它。

      webpack-dev-server --port 3001
      

      【讨论】:

      • 嘿,我尝试了你的建议,但得到了完全相同的错误。还有其他方法可以重新配置吗?
      • 是的,但这取决于你如何设置 webpack。从节点服务器 js 文件开始,查找 app.listern,然后硬编码一个新的端口号,或者通过代码返回到它的配置位置。
      【解决方案4】:

      即使在恢复主机文件并尝试使用不同的端口后,我也无法正常工作。我让它工作的方式是在启动服务器时提供一个自定义主机(127.0.0.1)和端口(3001 或任何其他可用的):

      webpack-dev-server --host 127.0.0.1 --port 3001
      

      【讨论】:

        【解决方案5】:

        还要检查 /etc/hosts 是否也有 127.0.0.1 指向 localhost。

        【讨论】:

          【解决方案6】:

          也遇到了同样的错误,没有任何修复。

          在我的情况下,我不小心“损坏”了/etc/hosts 文件,因为我能够在没有sudo 许可的情况下对其进行写入。

          线索是当我cat /etc/hosts 输出是一条凌乱的线。我删除并重新创建文件为sudo,使用@lizzie-cd 链接,一切恢复正常

          【讨论】:

            【解决方案7】:

            在最新的 mac 和 linux os 中,webpack 开发服务器只能在添加

            host: "127.0.0.1"
            

            devServerwebpack.config

            【讨论】:

              【解决方案8】:

              主机文件很好。进入 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"
                  },
                })
              );
              

              【讨论】:

                猜你喜欢
                • 2017-07-04
                • 2015-10-15
                • 1970-01-01
                • 1970-01-01
                • 2018-03-25
                • 2018-10-25
                • 2017-05-08
                • 1970-01-01
                • 2021-04-23
                相关资源
                最近更新 更多