我正在学习express 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
更简单。有人能解释一下它们之间有什么区别吗?
最佳答案
它允许模块化。很多人都有一个路由文件夹,他们将所有路由处理程序保存在其中。然后在他们的 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;
routes/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;
routes/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;
关于express - Express 4.0 中的路由器与应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36733245/