Javascript / NodeJS / Express范围混乱

时间:2015-08-26 15:36:01

标签: javascript node.js express reactjs

我正在查看此存储库并注意到作者已在app.js中声明了一个变量(io):

/* Socket.io Communication */
var io = require('socket.io').listen(server);
io.sockets.on('connection', socket);

他在public/js/app.js中再次引用变量,但似乎根本没有像我通常期望的那样引用外部javascript文件,所以我很惊讶这不会导致ReferenceError。

有人可以请我澄清一下这个允许外部引用io工作的例子吗?非常感谢提前。

1 个答案:

答案 0 :(得分:2)

public / js / app.js 是客户端javascript,将在浏览器中运行。如果你看一下 index.html ,你会看到socket.io的客户端版本包含在底部,它定义了一个全局io var。

https://github.com/DanialK/ReactJS-Realtime-Chat/blob/master/public/index.html#L12