0

我正在学习在节点 js 中使用套接字 io,我遇到了这个让我很烦恼的例子。我正在关注http://socket.io/上的示例:客户端:

<script src="/socket.io/socket.io.js"></script>
...

我的问题是节点 js 如何解析这个 src url?我从来没有配置我的服务器来处理这个 url。下面是我的服务器代码片段。我从未将 socket.io.js 复制到我的任何 public/views 文件夹中。似乎有一些规则,节点可以像魔术一样直接从节点模块中提取 js 文件。任何人都可以解释这是如何工作的吗?

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});
...

var app = express.createServer();

app.configure(function() {
    app.use(express.logger());
    app.use(express.bodyParser());
    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
    app.use(express.static(__dirname + '/public'));
    app.use(express.cookieParser());
4

1 回答 1

2

Socket.io 向您的服务器添加了一个连接侦听器,该侦听器为其客户端 JS 提供服务以响应该 URL。
请参阅文档

要禁用此功能,请将browser client 配置选项设置为 false。

于 2013-12-05T16:07:13.743 回答