我正在学习快速js 4.0并用它构建紧凑的CRUD REST API Web应用程序。在本教程中,它显示了两种方式;使用应用程序和使用路由器。
//using router
var router = express.Router();
router.get('/', function(req,res){
res.send('hello, world')
});
//using app
app.get('/', function(req,res){
res.send('hello, world')
});
对我来说,我觉得它们的工作原理相同,但我不知道为什么人们使用router
,我认为使用app
更简单。谁能解释一下它们之间有什么区别?
答案 0 :(得分:4)
它允许模块化。很多人都有一个路径文件夹,他们保留所有路由处理程序。然后在他们的app.js文件中,他们只是做app.use(<prefix>, <routes>)
;在他们require
他们的路由器之后。它可以使您的文件更小,更有条理。
示例:
<强> app.js 强>
var express = require('express');
var rootRoutes = require('./routes/index');
var userRoutes = require('./routes/user');
var app = express();
app.use('/', rootRoutes);
app.use('/user', userRoutes);
module.exports = app;
<强>路由/ index.js 强>
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
res.render('index.jade');
});
router.get('/about', function(req, res) {
res.render('about.jade');
});
module.exports = router;
<强>路由/ user.js的强>
var express = require('express');
var router = express.Router();
router.get('/:name', function(req, res) {
var userName = req.params.name;
res.render('user.jade', {
userName: userName
});
});
module.exports = router;