0

Node.js (socket.io および mysql モジュールを使用) を介した二重通信とデータベース アクセスを備えた、より大きなアプリを作成しています。したがって、いくつかのファイルを調達したいので、巨大な server.js ファイルはありません (たとえば、チャット用のファイル、データベース接続用のファイルなど)。

プロジェクトでこれらのファイルを整理する良い方法はありますか? jQuery から getScript のようなものを探していますが、Websocket サーバーではあまり意味のない Ajax 呼び出しであるため、これは機能しないと思います。

それとも、独自のモジュールを作成するのが最善の方法ですか!?

4

2 に答える 2

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');
于 2012-08-20T08:26:08.830 に答える
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);

これは、ファイルとロジックを配置するための良い方法だと思います。

于 2012-08-20T08:34:08.783 に答える