我有一个应用程序,其中包含以下路由代码:
var router = express.Router();
router.post('/routepath', function(req, res) {});
现在我必须将路由代码放在不同的文件中,所以我尝试使用this方法,但是不可能是因为它使用的是express.Router()
而不是< / p>
app.post("/routepath", function (req, res) {});
如何使用express.Router()
将路由放在不同的文件中?
为什么app.get
,app.post
,app.delete
等在app.js
中使用express.Router()
之后无效?
答案 0 :(得分:26)
这是一个简单的例子:
// 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
。