我正在编写一个更大的应用程序,通过Node.js(使用socket.io和mysql模块)进行双工通信和数据库访问。 因此我想找出一些文件,所以我没有一个庞大的server.js文件(例如:一个用于聊天的文件,一个用于数据库连接的文件等)。
有没有一种很好的方法可以在我的项目中安排这些文件?我正在寻找像jQuery这样的getScript之类的东西,但我认为这不会发生,因为它是一个Ajax调用,在Websocket服务器上没有多大意义,对吗?
或者是创建自己的模块的最佳方式!?
答案 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);
我发现这是安排文件和逻辑的好方法。