我有这个应用程序:
// 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);
但是里面定义的路线没有被执行,我该怎么办?
答案 0 :(得分:2)
尝试:
var api = require("./api");
app.use('/', api)
答案 1 :(得分:2)
好的找到了解决方案:
<强> api.js 强>:
module.exports = function (app, db) {
app.get("/api", function(req, res) { ... });
}
<强> index.js 强>:
require("./api")(app, db);
这种方式完美无瑕。