それを行う多くの方法。ここにいくつかのアイデアがあります。
はい、さまざまなモジュールがさまざまなサービスを呼び出したり、分離したりできるように、何らかのルーティング/ハンドラーをセットアップする必要があります。
以下は、かなり標準的な node.js / Express 構造です。
├── server.js
├── config
│ ├── development
│ ├── production
│ └── staging
├── handlers
│ ├── customers.js
│ └── stores.js
├── node_modules
│ ├── assert
│ ├── ejs
│ ├── express
│ ├── forever
│ ├── mongodb
│ └── mongoskin
├── package.json
├── README.md
次に、server.js で、次のようにハンドラーをインポートできます。
// import route handlers
var customers = require('./handlers/customers'),
stores = require('./handlers/stores');
次に、ハンドラー内で関数を宣言できます。
exports.addCustomer = function(req, res) {
// ....
};
server.js でルーティングに使用できるもの:
app.post('/customers/add/:id, metrics.addCustomer);
これで、基本的なフレームワークができました。exports.XXX
ハンドラー ファイル内の関数の外部でデータベース接続を定義するだけで問題ありません。これらの関数はアクセスできますが、何もアクセスできないserver.js
ため、名前空間を汚染することはありません。
var url = config.user +":"
+ config.pass +"@"
+ config.host +"/"
+ config.database;
var mongo = require('mongoskin').db(url);
config
ここで、JSON ファイルからオブジェクトをロードできます。
それが役立つことを願っています。