【发布时间】:2015-06-09 21:32:25
【问题描述】:
我刚开始用express 4学习node.js。我已经阅读了一些书籍和教程,我还从git中克隆了一些示例应用程序,但我仍然有一个非常基本的问题,我应该遵循哪种做法来编写路由(或控制器)?
有些人在app.js中定义了所有的路由,并在控制器中导出了所有的功能:
app.js
....
var homeController = require('./controllers/home');
var userController = require('./controllers/user');
....
app.get('/', homeController.index);
app.get('/login', userController.getLogin);
app.get('/logout', userController.logOUT);
app.get('/doStuff', userController.doStuff);
然后在控制器/user.js中
exports.getLogin = function(req, res) {
//logic...
});
exports.logout = function(req, res) {
//logic...
});
exports.doStuff = function(req, res) {
//logic...
});
另一种方式就像 express-generator 方式: app.js
...
app.use('/users', users);
...
控制器/users.js
....
router.get('/login', function(req, res, next) {
//logic...
});
router.get('/logout', function(req, res, next) {
//logic...
});
router.get('/doStuff', function(req, res, next) {
//logic...
});
module.exports = router;
还有一些更动态的,比如this proposal
有任何技术差异吗?我应该遵循哪种模式?
【问题讨论】:
-
我会继续猜测这是风格偏好。