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 に答える