从我的路由器模块引用Express应用程序

Stu*_*emo 3 routes node.js express

我从这里的各个帖子中读到,构建Express应用程序的一个好方法是创建一个routes.js模块,其内容如下:

exports.homepage = function (req, res) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

然后,从我的app.js:

var app = module.exports = express.createServer();
app.get('/', routes.homepage);
Run Code Online (Sandbox Code Playgroud)

这是一种享受,直到我想改变我的"做某事"来做另一个请求,如下所示:

exports.homepage = function (req, res) {
    app.get('/sign-in', myCallbackFunc);
}
Run Code Online (Sandbox Code Playgroud)

我的routes.js对app一无所知.如何传入/引用"app".或者我的结构是不正确的?

谢谢!

c0d*_*nja 5

不确定,您的项目是如何构建的.但是,这是我将如何创建routes.js文件:

var routes = function(app) {
    app.get('/', function(req, res) {
       // do something
    });

    app.get('/sign-in', function(req, res) {
       // do something
    });
};

module.exports = routes;
Run Code Online (Sandbox Code Playgroud)

从app.js开始,只需要你的路由文件:

require('./routes')(app);
Run Code Online (Sandbox Code Playgroud)