node.js express中间路由件

在使用express做后台时,如果你使用app.get()或者app.post()进行路由匹配的话,你写的功能接口逻辑就全部在当前的入口app.js中了,代码特别的臃肿。Express 4.0之后,支持了Router中间件,默认就会有一个内置的属性,可以采用路由中间件,app.use()进行路由匹配,拆分成对应的模块。

比如:写一个完整的后台服务,你可以把用户模块拆分出来,单独作为一个User模块,在user模块下,你可以将功能拆分成注册(register)模块,登录(login)模块,发送验证码(sendMsg)模块。

app.use('/user',user); 其实,相当于匹配的路由为/user/*,只要是匹配到/user/*,都会走user路由。

  • 入口文件
var express = require('express');
var user = require('./routes/user.js');

var app = express();

app.use('/user',user);

app.listen(8090,function  () {
	console.log("启动成功");
});
  • 路由文件
var express = require('express');
var router = express.Router();

var login = require('../user/login.js');
var register = require('../user/register.js');
var sendMsg = require('../user/sendMsg.js');

//登录
router.use('/login',login);
//注册
router.use('/register',register);
//发送验证码
router.use('/sendMsg',sendMsg);

// router.use('/',function  (req,res) {
	
// 	res.send({'code':"200"});
// });

module.exports = router;
  • 功能文件

1.登录模块

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

router.post('/login',function  (req,res) {
	
	res.send({'page':"login"});
	res.end();
});

module.exports = router;

2.注册模块

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

router.post('/register',function  (req,res) {
	res.send({"page":"register"});
	res.end();
});

module.exports = router;

3.发送验证码

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

router.post('/sendMsg',function  (req,res) {
	res.send({"page":"sendMsg"});
	res.end();
});
module.exports = router;

在使用router 路由时,你必须要使用module.exports =router;导出来,否则,就会报错。

猜你喜欢

转载自blog.csdn.net/ioszhanghui/article/details/90699925