微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – “express.Router”和使用“app.get”的路由有什么区别?

我有一个包含以下路由代码的应用程序:

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

现在我必须将路由代码放在不同的文件中,所以我试图使用this方法,但是它不工作,因为而不是使用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('/',res) {
    res.send('Hello from the custom router!');
});

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

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

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

这里,app.use()将路由器实例装载到/ procepath,所以添加到路由器实例的任何路由都将相对于/ routepath。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐