CNode

关于Express4.x 路由分离的问题求解

问答
Yyoungdeer发布于10 年前最后回复10 年前5 回复5469 浏览0 收藏

app.js:

var routes = require('./routes/index');
var users = require('./routes/users');
var mmRoute = require('./routes/MmRoute');

app.use('/logout', routes);
app.use('/users', users);
app.use('/managerMoney', mmRoute);
app.use('/mobileReg', routes);
app.use('/WXtest', routes);

原本所有的路由请求处理都在/route/index.js中,由于里面内容越来越多我想分离一下,新建了/routes/MmRoute.js文件

MmRoute.js:

var express = require('express');
var router = express.Router();

router.get('/managerMoney', function(req,res,next){
......................
});

module.exports = router;

然后运行,请求/managerMoney,报404,发现请求处理的时候感觉还是去index.js中去了,没能进到MmRoute.js中。 求解是啥原因。。。。

查看回复

回复 (5)

Y
Yhaojing#1·10 年前

1)MmRoute.js 改成这样 var express = require('express'); var router = express.Router();

router.get('/', function(req,res,next){ ...................... }); module.exports = router; 2)不然就路由访问/managerMoney/managerMoney

Y
youngdeer#2·10 年前
引用 Yhaojing1)MmRoute.js 改成这样 var express = require('express'); var router = express.Router(); router.get('/...

@Yhaojing 我觉得代码的写法没有问题

router.get('/managerMoney', function(req,res,next){
......................
});

这一段代码我只是原封不动的把这个方法从Index.js中复制到MmRoute.js中去。 我试了一下

app.use('/managerMoney', mmRoute);

这一段不变,将上面那段再放入index.js中去就可以访问到。也就是说我不管怎么改app.use里的东西,他始终去到了index.js中去了。

参与回复
登录后即可参与回复。登录