来自另一台计算机的反映的客户端操作
我在我的新博客上工作,现在服务器端是NodeJS ( 使用expressjs ),我将服务器托pipe在我的电脑上。
为了快速发展,我正在使用GulpJS。
在我解释奇怪的事之前。 让我说这两个端口( 3000和80是开放的 )。
- Gulp版本:
3.9.0
-
0.10.35
版本:0.10.35
- 浏览器同步:
2.7.12
这是我的index.js
,我使用node index.js
来启动服务器。
var express = require('express'); var app = express(); app.use(express.static('public')); app.set('base', '/public'); app.get('/', function(req, res) { res.sendfile('index.html'); }); var server = app.listen(80, function() { var host = server.address().address; var port = server.address().port; console.log('Example app istening at http://%s:%s', host, port); });
现在这是我使用的gulpfile.js
的重要部分(为简单起见,我删除了大部分任务):
var sync = require("browser-sync").create(); gulp.task('browser-sync', function() { sync.init({ proxy: "http://localhost:80", browser: "chrome", port: 3000 }); });
所以在我的博客上工作了一段时间之后,我决定把它展示给朋友,而NodeJS
服务器正在运行, Gulp
正在监视一些html
, js
和sass
文件,我把我的domain.ml:3000
发送给我的朋友,该域指向我的外部IP,端口3000
是由于通过gulpfile.js
定义的代理。
我无法解释的奇怪的事情:
当我的朋友玩这个网站时,他的行为反映给我,这意味着我们都访问了domain.ml:3000
, 当他点击src
属性设置为#
的链接时, 我的url变成了domain.ml:3000/#
,我也有一个链接,当点击打开一个标签(过渡是由一些js + css转换 ),再次当标签打开他的一面,它也打开在我身边 。
我想这是与browser-sync
代理的东西,但我不能解释也不理解这种行为,如果任何人都可以帮助我的数字,我会非常感激,有一个愉快的一天。
这是交易,浏览器同步通过你的代理发送哈希链接到你的服务器(当你点击链接'#')该片段有一个不同的待遇。
端口80上的服务器现在是从您的浏览器同步会话中重放所有URL的木偶,您同时在浏览器同步端口3000上连接,当其中一个发送哈希更改时,您在服务器上都收到新的位置港口:80现在也有了新的位置。
这基本上是浏览器同步的意思。 您可以同步浏览器以同时testing相同的应用程序。 一旦你做了一个吞噬的构build和服务,而不是你的“开发版本”,这将会改变。