菜鸟学习nodejs--express(二)路由
来源:互联网 发布:免费听小说听书软件 编辑:程序博客网 时间:2024/05/18 02:01
什么是路由
路由这个次不是nodejs专属,在web应用程序中就有路由,路由描述应用程序是否以及如何对调http(超文本传输协议)请求进行应答,当用户在与应用程序或者网站交互的时候,浏览器就会生成这些请求。
路由只是个用来定义应用程序中http请求的最终点的术语,所以如果希望应用程序能够做点什么,那么就必须使用路由了。
Express中的路由
在Express使用HTTP动词来定义路由,HTTP动词描述对服务的请求类型,最为可能用到的动词Get,Post。
1. GET–从服务器获取数据
2. POST–将数据发送给服务器
其他的也有一些如:PUT,Delete,HEAD,OPTION,TRACE。
node.js路由的从无到有
没有路由
我们先创建一个没有使用路由的应用程序吧。如我们上一片博客Express的安装和使用,我们新建express_routing文件夹,在文件夹内Shift+鼠标右键,选择在此处打开命令窗口,然后输入: express express_routing
cd express_routing && npm install
上边的命令就是创建Express项目,并引入一些相应的模块。
打开app.js,在倒数第二行假如app.listen(3000);加入端口号。
在命令窗口继续输入: node app.js
然后再浏览器输入http://127.0.0.1:3000,然后观察页面
可是如果我们输入的地址是http://127.0.0.1:3000/about的话,会出现404的错误,这就是about没有路由可以使用,那么我们改如何使用呢。
有路由
其实我们平时在做web项目的时候一直再用路由,只是可能我们不知道那就叫路由,如我们常用的从服务器获取数据的GET请求,给服务器数据POST。接下来我们分别介绍一下
添加GET路由
为了使用GET路由,我们需要Get HTTP请求,在上边的没有路由的例子中,打开app.js在var app = express()
下边加上下边的代码
app.get('/about',function(req,res){ res.send('孟海滨是个大帅哥');});
运行改js,node app.js
,在浏览器输入http://127.0.0.1:3000/about,这样我们的这个程序就写完了。看看效果如何。
添加POST路由
我们说完了添加GET路由,那么接下来我们说一下POST路由,添加POST路由和添加GET路由是一样的,只是把动词换做了post,如下:
app.post('/',function(req,res){ res.send(req.body);});
在这个示例中,应用程序接收post请求,送到index页面,并将数据输送到浏览器中。
新建一个文件夹express_post,在该文件夹下打开控制命令窗口。输入:
express express_postcd epxress_post && npm install
在app.js中添加app.listen(3000);
在生成的程序中,打开view–>index.jade,添加如下代码
h2 Form exampleform(mehtod='post',action='/') fieldset legend Add a user p label First name input(name='user[first_name]') p label Last name input(name='user[last_name]') p input(type='submit',value='Save')
在浏览器输入http://127.0.0.1:3000,我们会看到浏览器出现了这个界面
然后我们输入一些信息,就会在地址栏出现我们输入的信息了。
使用路由传送参数
在web项目中,我们通常使用路由来传递参数,并且根据参数做相应的回应。例如下边的url
user/123department/456
第一个url是用户ID位123的信息显示,第二个是部门id是456的信息显示。而且nodejs同样也支持这种方式。
1.创建Express站点
express express_paramcd epxress_param && npm install
2.在app.js中添加如下代码
app.get('/users/:id', function(req, res){ res.send('用户ID是' + req.params.id);});app.listen(3000);
3.启动项目
node app.js
4.在浏览器输入:http://127.0.0.1:3000/users/123,查看结果。
注意:你可能发现了,我每次都是把路由放入到了app.js,如果我们的页面需要大量的数据传输,可能使我们的程序特别复杂,难以维护,所以我们需要用一个类似于web项目的js文件来专门写这些东西,而这个Nodejs已经为我们考虑好,那就是我们的route文件夹下的index.js文件,我们可以直接写在这里边,在我们的app.js中写上app.get('/',routes.index);
就可以了
使用本地变量
在res.render函数中,本地变量的使用要掌握关键所在,设置要在视图层展示的数据。
将数据传递到视图层。
我们可能对数据要进行一些处理。例如拼接字符串,计算等。无论做什么,都需要在展示之前处理好。
app.js中添加如下代码
app.get('/', function(req, res){ var user = { first_name: 'Keyser', surname: 'Soze', address: 'Next door', facebook_friends: '4' }; res.render('index.jade', { title: 'User', user: user });});
index.jade中添加如下代码:
h3 First Namep= user.first_nameh3 Surnamep= user.surnameh3 Addressp= user.addressh3 Facebook Friendsp= user.facebook_friends
执行node app.js,我们会看到如下结果
小结
我们接着在上一篇的Express的基础上来讲了在node.js中获取和传输数据,使用参数等的方法,其实无非就是一个GET,POST,参数的使用。那么Express到底是干什么的呢。
Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。 说白了,一个快速为我们创建web前段的框架。
- 菜鸟学习nodejs--express(二)路由
- nodejs express 路由
- nodejs express路由详解
- nodejs学习2:Express的路由(Route)功能
- nodejs初级学习(二)--nodejs+express搭建WEB工程
- Nodejs学习(二)--路由(router)
- 菜鸟学习NodeJS笔记(二)
- nodejs学习笔记之二--express框架应用
- NodeJS 实现类是express路由
- NodeJS使用Express框架设置路由
- nodejs开发 express路由与中间件
- NodeJS之重构Express路由
- nodejs开发 express路由与中间件
- nodejs express 子app功能(路由)
- 菜鸟学习nodejs--安装nodejs
- nodejs-路由学习笔记
- 菜鸟学习nodejs--Socket.IO二(聊天服务器)
- (NodeJS学习文章收集二) 初识NodeJS服务端开发(Express+MySQL)
- GDB 多线程调试
- Linux系统下adb devices无法看到移动设备
- 卷积神经网络
- 手把手教你最简单的开源项目托管GitHub入门教程
- 【Raspberry Pi 3试用体验】+ 搭建本地DNS服务器
- 菜鸟学习nodejs--express(二)路由
- 事件冒泡
- WIN7开机黑屏BOOT\BCD 0xc000000f错误启动不了
- Java 通过魔数判断上传文件的类型
- Android studio2.0在app中设置背景图片及添加图片资源
- JavaScript 获取鼠标点击位置坐标
- C/C++复习:指针引出奇数因子
- redis在windows下安装和PHP中使用
- js+css 灵活层叠 绝对/相对 定位