express 生成项目后,app.js 中定义了路径和router文件的关系,比如:
...
var usersRouter = require('./routes/users');
...
app.use('/users', usersRouter);
usersRouter 中定义了此模块下具体路径的处理逻辑,例如:
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
具体处理逻辑应放到 controller 中,然后 router 中设置路径和 controller 的对应关系。
新建 controller 文件夹,与 routes 文件夹平级,创建 controllers/users.js :
exports.user_list = function (req, res){
// 处理逻辑 ...
res.send('NOT IMPLEMENTED: User list');
}
修改 routes/users.js,变为:
var express = require('express');
var router = express.Router();
// 新增
var user_controller = require('../controllers/users');
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
// 新增
router.get('/list', user_controller.user_list);
module.exports = router;
重启项目,访问 http://localhost:3000/users/list