Node.js学习笔记10--Express搭网站(2)

1.创建路由规则:

例如要创建/hello的页面:

在index.js中添加:

app.get(‘/hello‘,funciton( req, res, next ) {

  res.send("The server time is "+ new Date().toString());

})

app.get是路由规则创建函数,它接受两个参数,一个路由的路径,另一个参数是一个回调函数,该路由规则被触发时调用回调函数。

2.路径匹配

Express还支持更高级的路径匹配模式,例如:

想要展示一个用户的个人页面,路径为/user/[username]

app.get(‘/user/:username‘,function(req,res){

  res.send(‘user: ‘+req.params.username);

})

路由规则还支持JS正则表达式。

3.REST风格的路由规则

rest意思是: 表征状态转移(Representation State Transfer),它是基于HTTP协议的网络应用的接口风格。

HTTP协议定义了8种标准风格:

其中get,post,delete,put是常用的,特点是:

其中的安全是指: 没有副作用,即请求不会对资源产生变动,连续访问多次所获得的结果不受访问者的影响。

幂等是指: 重复请求多次与一次请求的效果是一样的。

express为每种HTTP请求方式都设计了不同的路由绑定函数

其中:app.all函数支持把所有的请求方式绑定到同一个响应函数,是一个非常灵活的函数。

4.控制权转移

express支持同一个路径绑定多个路由响应函数,但当访问任何被这两条同样的规则匹配到的路径时,请求总是被前一条路由规则捕获。(默认情况下是 先来先得

原因是:express在处理路由规则时,会优先匹配先定义的路由规则,因此后面相同的规则被屏蔽。

可以通过回调函数的第三个参数next,将路由控制权转移给后面的规则。

通过调用next(),将路由控制权交给第二个规则,向后传递。

时间: 2024-10-13 04:56:54

Node.js学习笔记10--Express搭网站(2)的相关文章

node.js学习笔记目录

1.node.js学习笔记(1)--Node.js简介及环境安装 2.node.js学习笔记(2)--使用Express快速创建应用 3.node.js学习笔记(3)--Express创建的项目分析 4.node.js学习笔记(4)--使用Express完成简单的登陆 5.node.js学习笔记(5)--MongoDB下载及安装 6.node.js学习笔记(6)--MongoDB简单入门 7.node.js学习笔记(7)--Node.js与MongoDB简单交互 8.node.js学习笔记(8)

Node.js学习笔记(3) - 简单的curd

这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e

系列文章--Node.js学习笔记系列

Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql) Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识 Nodejs学习笔记(七)--- Node.js + Exp

Node.js学习笔记【1】入门(服务器JS、函数式编程、阻塞与非阻塞、回调、事件、内部和外部模块)

笔记来自<Node入门>@2011 Manuel Kiessling JavaScript与Node.js Node.js事实上既是一个运行时环境,同时又是一个库. 使用Node.js时,我们不仅仅在实现一个应用,同时还实现了整个HTTP服务器. 一个基础的HTTP服务器 server.js:一个可以工作的HTTP服务器 var http = require("http"); http.createServer(function(request, response) { r

Node.js学习笔记【3】NodeJS基础、代码的组织和部署、文件操作、网络操作、进程管理、异步编程

一.表 学生表 CREATE TABLE `t_student` ( `stuNum` int(11) NOT NULL auto_increment, `stuName` varchar(20) default NULL, `birthday` date default NULL, PRIMARY KEY  (`stuNum`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 学生分数表 CREATE TABLE `t_stu_score` ( `id` int(11

node.js 学习笔记

学习网站:http://www.nodejs.net/a/20141016/232139.html: 笔记:介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏览器就基于V8,同时打开20-30个网页都很流畅.Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低.非常适合小型网站,个性化网站,我们自己的Geek网

【Node.js学习笔记】使用Gulp项目自动化构建工具

刚接触node.js,对前端的一些东西还不是很清楚,据说Gulp这东西很强大,先来看看从网上抄的一段关于自动化构建的描述: 在为数众多的中小型软件作坊中,不存在自动化构建和发布工具.构建.交付准备环境.代码发布全由手工完成,同样还有运行测试.备份旧版本.新版本打标签以及许多其他重复的事情.毕竟你可能认为这全是非常简单的工作,集成开发环境通过按钮或快捷键就可构建项目,你开启两个窗口拖放少许文件或文件夹即可完成网站发布.但当你在维护代码库和应用时所有这些事情加在一起,这里几分钟,那里几分钟,最终会浪

面向于初学者的Node.js学习笔记 01 搭建静态服务器

希望这篇文章能解决你这样一个问题:“我现在已经了解了一些Node.Js基本概念了,怎么搭一台静态服务器呢?” 请参考一下博主的前两篇文章: 完全面向于初学者的Node.js指南 Node.Js的Module System 以及一些常用 Module 本文实现的效果(样式就没做了,大家将就下): 列出的代码均测试可用,大家放心. What is static server? 静态服务器,有了它呢,就可以让外部访问到咱们的静态网页.在功能上:它可以给用户发送文件(如:HTML, CSS, Js等).

【学习笔记】Node.js学习笔记(二)

三.使用Node.js进行Web开发 1.安装Express Express是官方推荐的Web开发框架,功能十分强大. 在命令行输入 npm install -g express 进行全局安装Express 这样就是安装完成了.但是这时候我们执行express -h命令却不成功,因为express4.0以后需要再安装express-generator包才能执行express命令 再安装express-generator包:npm install -g express-generator 这样就可

node.js 学习笔记1-mocha

1.mocha是什么 mocha是一款流行的额JavaScript测试框架. 2.mocha的基本用法 1.使用npm 安装mocha包,我并没有选择全局安装.只是在mocha的文件夹里的Package.json添加mocha的依赖. 如下图 { "name": "mocha-test", "version": "0.0.1", "dependencies": { "koa": &quo