Chrome 无法使用 Gulp / BrowserSync 打开 localhost:3000

Chrome can't open localhost:3000 with Gulp / BrowserSync

出于某种原因,无论我尝试什么,Google Chrome 似乎永远无法在启动时显示 http://localhost:3000(或任何其他指定的端口号)通过 Gulp.

使用 BrowserSync 建立服务器

在 Firefox 中导航到相同的 URI,表明它有效并且 BrowserSync 已 连接

gulp.task('browser-sync', function() {
    browserSync.init({
        server: {
            baseDir: './'
        },
        port: 8080
    });
});

我在上面指定端口 8080 作为 替代 ,但即使使用默认 3000 在 Chrome 中也不起作用。 Firefox 似乎都可以使用。

我去过:chrome://net-internals/#dns 并清除了主机缓存,重新启动等。没有任何效果。

在 Chrome 中,我只收到消息:ERR_CONNECTION_REFUSED

有什么想法吗?谢谢。

PS - 也适用于 Safari。

我已经在我的应用程序中成功使用了以下内容。

来自我的 gulpfile.js:

gulp.task('browserSync', function() {

  // Browser sync config
  browserSync({
      proxy: 'localhost:3000'
  });

});

希望对您有所帮助。

如果这对任何人有帮助,我就解决了这个问题。

通过 BrowserSync 提供的 public IP 访问该站点有效,但我仍然需要 localhost:3000,因此我进一步调查了 Mac 上的主机文件。

默认情况下,这一行似乎影响了连接:

::1    localhost

你所要做的就是注释掉这一行,一切都应该没问题:

#::1    localhost

希望这对在 Mac 上使用 Gulp 和 BrowserSync 与 Chrome 有类似问题的人有所帮助。

我以前也遇到过类似的问题,我尝试了这些组合,有时只是改变路径有帮助。

gulp.task('browser-sync',['nodemon'], function() {
    browserSync.init(null, {
       // proxy:"http://localhost:3000"
       //server: "./server/app.js"
       proxy:"localhost:3001"

    });
});

在 init 函数中手动设置浏览器 属性 对我有用。

gulp.task('browserSync', () => {
        browserSync.init({
            server: {
                baseDir: task.dir.base,
                middleware: [
                    webpackDevMiddleware(bundler, {
                        publicPath: webpackConfig.output.publicPath,
                        stats: 'errors-only'
                    })
                  ]
            },
            browser: 'chrome'
        });
    });

我是 运行 windows 10 x64

这个问题困扰我好几个星期了!我终于想出了解决这个问题的直接组合: Mac 塞拉利昂 10.12.6.

确实,上面的分数最多的答案是正确的。但是,我发现我必须在更新我的主机文件后直接刷新我的 DNS 缓存,否则我会继续出现死机白屏 - DNS 缓存是我的问题:/

以下是最终为我解决此问题的步骤:

1. 断开所有现有的 gulp 服务器(在我的例子中是与您尝试代理的服务器关联的 VPN 连接)

2. 在您的 'hosts' 文件中:

改变

::1    localhost

#::1    localhost

然后保存该文件

3. 打开'Terminal'

4. 将其复制/粘贴到终端中,然后按 Enter (这些命令会刷新您的 DNS 缓存)

sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;

5. 重新连接到 VPN(如果有),重新 运行 您的 gulp browsersync 命令

瞧! 您应该能够克服白屏和永远旋转的浏览器滚轮。