What is the difference between “express.Router” and routing using “app.get”?

妖精的绣舞 提交于 2019-12-17 23:33:49

问题


I have an app with following code for routing:

var router = express.Router(); 
router.post('/routepath', function(req, res) {});

Now I have to put routing code in different files so I tried to use this approach, but it is not working perhaps because instead of express.Router() it uses:

app.post("/routepath", function (req, res) {});

How can I put routing in different files using express.Router()?

Why app.get, app.post, app.delete, etc, are not working in app.js after using express.Router() in them?


回答1:


Here's a simple example:

// myroutes.js
var router = require('express').Router();

router.get('/', function(req, res) {
    res.send('Hello from the custom router!');
});

module.exports = router;

// main.js
var app = require('express')();

app.use('/routepath', require('./myroutes'));

app.get('/', function(req, res) {
    res.send('Hello from the root path!');
});

Here, app.use() is mounting the Router instance at /routepath, so that any routes added to the Router instance will be relative to /routepath.



来源:https://stackoverflow.com/questions/23607058/what-is-the-difference-between-express-router-and-routing-using-app-get

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!