2016-01-13 39 views
0

我想在幾個文件中對我的路由進行細分,通常是客戶端路由和api的一些內容。當在不同文件中聲明路由器時,不會觸發一個路由器

所以我宣佈我的應用程序,然後

app.use('/', clientRoutes); 
app.use('/api', apiRoutes); 

在clientRoutes:

module.exports = function (webapp_client_path){ 
    router.get('/', function (req, res) { 
     res.sendFile(path.join(webapp_client_path, '/','index.html')); 
    }); 
    return router; 
}; 

在apiRoutes:

module.exports = function(passport){ 
    router.post('/signup', function(req, res) { 
     console.log('signup!', req.body); 

    }); 


    return router; 
} 

所以問題是,apiRoutes不會被觸發,如果我把所有東西放在它工作的同一個cleintRoutes文件中。我試圖改變根目錄(app.use('/',apiRoutes);並在文件router.post('/ api/signup'...)中,但它沒有改變任何東西。

我敢肯定,我失去了一些東西基本在這裏,但無法找到它是什麼呢。感謝您的幫助!

回答

2

我發現這個問題。

您需要執行的路由器,然後將它傳遞作爲中間件。

var apiRoutes = require('./routes/apiRoutes')(); 

app.use('/', apiRoutes); 
相關問題