2014-09-12 60 views
0

我有這個程序:斯普利特快遞應用

// Some modules 
var express = require("express"); 
var ... = require("..."); 
var ... = require("..."); 

// Here will go the db 
var db; 

// Init express 
var app = express(); 

// Express configuration 
app.use(...); 
app.use(...); 

// Routes 
app.get("/", function() {}); 
app.get("/api/v1/a", function() {}); 
app.get("/api/v1/b", function() {}); 

// Connect to the db, store it in "db" and then set the port of the app 
MongoClient.connect("mongodb://localhost/db", function(err, connection) { 
    db = connection; 
    app.listen(3000); 
}); 

我想分裂這個應用程序在多個文件,比如我想路線移動API爲api.js文件。

我試過這個api.js

function(app, db) { 
    app.get("/api/v1/a", function() {}); 
    app.get("/api/v1/b", function() {}); 
} 
module.exports = api; 

再搭配使用:

var api = require("./api"); 
api(app, db); 

但裏面所定義的路由不執行,我該怎麼辦?

回答

1

確定找到了一個解決方案:

api.js

module.exports = function (app, db) { 
    app.get("/api", function(req, res) { ... }); 
} 

index.js

require("./api")(app, db); 

這種方式完美無瑕。

1

嘗試:

var api = require("./api"); 
app.use('/', api) 
+0

它永遠掛起。 – 2014-09-12 16:37:15