0

初めての node.js アプリです。http://www.nodebeginner.org/を例として、http://lokijs.org/をメモリ内データベースとして使用します。だから、私はコードの組織化に問題があります。次のようになります。

index.js

var server = require('./server');
var router=require('./router');
var reqHandler=require('./handler');

var loki=require('lokijs');
var db = new loki('world.json');

var handle={
    '/getById':reqHandler.getById
};
db.loadDatabase({},function(){
    server.start(router.route, handle,db)
});

サーバー.js

var http = require('http');
var url = require('url');

function start(route,handle,db){
    http.createServer(function (req, res) {
            route(req, res, handle,db);
    }).listen(8080);
}

exports.start=start;

router.js

var url = require('url');

function route(req,res,handle,db) {
    var pathname = url.parse(req.url).pathname;
    if (typeof handle[pathname] === 'function') {
        handle[pathname](res, req,db);
    } else {
        //process error
    }
}

exports.route = route;

handler.js

var url = require('url');
var loki=require('lokijs');
var querystring=require('querystring');

function getById(res, req,db){
    //process req. send response
    //HERE db MUST BE ACCESSIBLE
}

exports.getById=getById;

現在のコード構造では、db 変数を最初の index.js から最後の handler.js に渡す必要があります。それは私にとって素晴らしい解決策ではないようです。

誰でもそれを手伝ってもらえますか?事前にt​​hx。

4

1 に答える 1