2016-04-26 154 views
0

我正在使用wanger npm pkg,它工作正常......但我不知道如何在使用DI時分開文件。依賴注入與node.js

這裏是我的路線:

var logic = require('./logic'); 
var express = require('express'); 
var bodyParser = require('body-parser'); 


/** 
* 
* Routes /api/v* 
* 
* @param {obj} wagner 
* @returns {obj} 
*/ 
module.exports = function (wagner) 
{ 

    var api = express.Router(); 
    api.use(bodyParser.json()); 

    api.get('/me', logic.me); 

    return api; 
} 

這裏是logic.me功能:

var me = { 
    me: function (req, res) { 
     res.send("TEST"); 
    } 
} 

module.exports = me; 

我想什麼做的是能夠使用wagnerlogic.me函數內...如何我可以存檔嗎?

+0

出口不是一個對象,但它接受一個函數'wagner'作爲它的參數和返回'me'對象。 – zerkms

+0

你能告訴我一個例子嗎? –

回答

2

這就是你如何能夠確定您logic

function meWrapper(wagner) { 
    var me = { 
     me: function (req, res) { 
      res.send("TEST"); 
     } 
    } 

    return me; 
} 

module.exports = meWrapper; 

,這就是你怎麼會在以後使用它:

module.exports = function (wagner) 
{ 

    var api = express.Router(); 
    api.use(bodyParser.json()); 

    api.get('/me', logic(wagner).me); 

    return api; 
} 
+0

太棒了,它的工作原理!謝謝 –