5

我有一条可以做很多不同事情的路线。例如:

路由文件:

exports.index = function (req, res) {
    if (x)
        exports.login(req,res);
    else
        exports.dostuff(req,res);
};

exports.login = function(req, res) {
    res.render('login');
};

exports.dostuff = function(req, res) { 
    res.render('otherfile');
};

这是不好的做法吗?有没有更好的方法来处理这种情况?谢谢。

4

1 回答 1

10

好吧,这不是一个不好的做法,但也不是最适合这种情况的做法。

你可以做这样的事情来实现更好的路由解决方案。

  • 在路由器文件中配置您的路由并在特定控制器中处理您的行为。

例如像这样的东西。(路由器.js)

//First requiring your controller for actions
var jobController = require("../controllers/job_controller");

module.exports = function(app) {

    app.get("/jobs", jobController.getJobIndex);
    app.get("/jobs/create", jobController.createJobView);
    app.get("/jobs/update/:id", jobController.updateJobView);
    app.get("/jobs/delete/:id", jobController.deleteJob);
    app.get("/jobs/:id", jobController.getJobDetails);

    app.post("/jobs/create", jobController.createJobPost);
    app.post("/jobs/update", jobController.updateJobPost);

};

并且在你的主 app.js 中需要 router.js

var router = require('./routes/router')(app)
于 2012-12-18T07:40:25.757 回答