跨文件处理变量和函数

时间:2015-08-30 20:42:00

标签: node.js

我有一个节点应用程序开始变大,并且会出现一些关于如何正确执行此操作的问题。

我的应用程序结构如下:

  1. index.js(主文件,一切从这里开始)
  2. 一个名为middleware的文件夹(我制作的自定义模块)
  3. 文件夹路由(与网站的不同部分)
  4. 当我想向应用添加websockets时,我的主要问题出现了。所以我通过像所有例子一样来实现它:

    var server          = require('http').createServer(app);
    var io              = require('socket.io')(server);
    

    但是,如果我想要例如响应“routes / api.js”中的发布请求的函数向所有客户端发送消息,我不知道该怎么做。

    我想在我想要使用它的所有文件中都不能要求socket.io,因为它需要服务器变量。我也理解应该不惜一切代价避免全局变量。

    是扩展所有函数以接受额外参数并将io变量发送给每个需要它的人的最佳解决方案吗?

    或者我错过了一些必要的东西?

0 个答案:

没有答案