(9)nodejs学习---路由

来源:互联网 发布:安防监控光纤网络系统 编辑:程序博客网 时间:2024/06/01 07:51

ps:非常喜欢听石川老师的课,每次都可以把复杂的概念简单化,好崇拜ing!!!
现在对express中的路由学习,小小的总结一下:
router–路由
概念:把不同的目录,对应到不同的模块。
直白点就是:假设用户访问xxxx.com/aaa/,那服务器默认就是调用aaa模块,若访问xxx.com/users/,默认就是调用mod_users模块。
为什么要使用路由那?
对于一个非常庞大的网站,如果把所有的逻辑都写到一个文件上,回事一个很好的想法。效率会很低的。好的做法就是,应该把他们拆散,拆的越散,其实大家开发起来就方便。可以把用户相关的业务,如用户中心,用户注册等,放在一个模块中。新闻等相关页面放在一个模块中。可以更加详细的划分,新闻模块中还可以有子模块,如新闻发布就可以作为新闻模块中的子模块。路由所做的就是把一个大模块,逐渐拆分成许多小模块。
不断的简化,就可以把一个很庞大的网站,简化到每个人做写东西,或者某个团队做什么,这样就提高了开发效率。
使用路由是不需要中间件的,路由是express的一部分,因为路由很重要,所以express就直接将路由这部分处理了。


开始使用路由:
1、想要使路由就需要创建一个路由;
var routerUser=express.Router();
2、将创建好的路由添加的到server上,因为我们知道路由是对应哪个文件夹的,但是express不知道,告诉express,路由对应的是哪个模块。
server.user(‘/user’.routerUser);

以上:创建路由之后,就可以进行get,post,use等,这样看来,路由就是一个迷你的服务器。
服务器时处理所有的请求,而路由只处理某一个模块下的请求。

完整代码例子:

const express=require('express');var server=express();//目录1:/user/var routeUser=express.Router();server.use('/user', routeUser);routeUser.get('/1.html', function (req, res){   //http://xxx.com/user/1.html  res.send('user1');});routeUser.get('/2.html', function (req, res){   //http://xxx.com/user/2.html  res.send('user22222');});server.listen(8080);