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 命令
瞧!
您应该能够克服白屏和永远旋转的浏览器滚轮。
出于某种原因,无论我尝试什么,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 命令
瞧! 您应该能够克服白屏和永远旋转的浏览器滚轮。