“express.Router”和使用“app.get”的路由之间有什么区别?
我有一个应用程序以下代码路由:
var router = express.Router(); router.post('/routepath', function(req, res) {});
现在我必须将路由代码放在不同的文件中,所以我试图使用这种方法,但是它不工作,也许是因为它不使用express.Router()
而是使用:
app.post("/routepath", function (req, res) {});
如何使用express.Router()
将路由放在不同的文件中?
为什么app.get
, app.post
, app.delete
等等,在使用express.Router()
之后在app.js
不起作用?
这是一个简单的例子:
// 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!'); });
在这里, app.use()
将Router
实例挂载在/routepath
,以便添加到Router
实例的任何路由将相对于/routepath
。