如何在Node.js应用程序中安排文件?

时间:2012-08-20 08:21:38

标签: javascript node.js websocket socket.io

我正在编写一个更大的应用程序,通过Node.js(使用socket.io和mysql模块)进行双工通信和数据库访问。 因此我想找出一些文件,所以我没有一个庞大的server.js文件(例如:一个用于聊天的文件,一个用于数据库连接的文件等)。

有没有一种很好的方法可以在我的项目中安排这些文件?我正在寻找像jQuery这样的getScript之类的东西,但我认为这不会发生,因为它是一个Ajax调用,在Websocket服务器上没有多大意义,对吗?

或者是创建自己的模块的最佳方式!?

2 个答案:

答案 0 :(得分:1)

是创建模块。

如果你想将值传递给模块,你可以创建一个类似的函数:

var a, b, c;
var self = this;   
//
// your module logic
//
exports.init = function(a, b, c)  {
  a = a;
  b = b;
  c = c;
  return self;
}

这是我最喜欢的模块化方法。然后你从你的代码中这样打电话。

var myModule = require('./myModule').init('modular', 'is', 'fun');

然后你有更传统的OOP

function ThisIsNotAclass(a,b,c) {
  //
  // your module logic
  //
}

exports = function(a, b, c)  {
  return new ThisIsNotAclass(a,b,b);
}

然后你从你的代码中这样打电话。

var myModule = require('./myModule')('modular', 'is more', 'fun');

答案 1 :(得分:1)

我主要使用module.exports。这是一个例子, core.js

/**
 * Initialize the core routes.
 * @param app {Object} The app object.
 */
var core = function( app ) {
        // CODE
};

/**
 * Expose core.
 * @type {Function}
 */
module.exports = core;

最后是app.js:

/**
 * Routes.
 */
require("./controllers/core.js")(app);

我发现这是安排文件和逻辑的好方法。