如何在除app.js之外的其他文件中构build套接字io服务器

我对node.js很新,现在我正在做一个在node.js上构build网站的项目。 对不起,如果我的问题是非常天真的。

我正在使用快速框架。 我的app.js正在监听端口(3000)。 在我的route.js中,我从调用一些API获得了一些数据。 我想显示数据到我的datapoint.jade文件。 而且,因为我想绘制这些数据点,我必须在jade中embedded一个JavaScript文件。 我想用socket.io来实现这个发送和接收数据。
但是,构造套接字的所有示例都在app.js中。 我得到的数据在router.js(在其callback函数之一)。 app.js需要router.js。 如何将数据从route.js发送到app.js,然后发送到客户端。

你能指导我一些相关和有用的信息吗? 或者我的devise根本无法工作?

一个常见的范例是将任何依赖关系传递给你的子模块:

// app.js var socket = require('socket.io'); var app = require('express')(); var routes = require('./routes.js')(app, socket); app.listen(); // routes.js module.exports = function(app, socket){ var routes = {}; app.use('/', routes.handleIndex) socket.on('connection', function(){ ... }) }