Express框架学习总结

最近学了Express框架,在学习的过程中,参考了一些资料,感觉Express框架比原生Node.js好用多了。下面我将我学习总结的内容如下:

Express中文网     http://www.expressjs.com.cn/

Express英文网     http://expressjs.com/

一、Express框架

Express框架是后台的Node框架,所以和jQuery、zepto、yui、bootstrap都不是一个东西。

Express在后台的受欢迎的程度,和jQuery一样,就是企业的事实上的标准。

       ● 原生Node开发,会发现有很多问题。比如:

         ■ 呈递静态页面很不方便,需要处理每个HTTP请求,还要考虑304问题

         ■ 路由处理代码不直观清晰,需要写很多正则表达式和字符串函数

         ■ 不能集中精力写业务,要考虑很多其他的东西

     安装Express框架,就是使用npm的命令
1   npm install --save express         

--save参数,表示自动修改package.json文件,自动添加依赖项。

路由能力:

1    var express = require("express");
2
3    var app = express();
4
5    app.get("/",function(req,res){
6        res.send("你好");
7    });
8
9    app.get("/haha",function(req,res){
10        res.send("这是haha页面,哈哈哈哈哈哈");
11    });
12
13    app.get(/^\/student\/([\d]{10})$/,function(req,res){
14        res.send("学生信息,学号" + req.params[0]);
15    });
16
17    app.get("/teacher/:gonghao",function(req,res){
18        res.send("老师信息,工号" + req.params.gonghao);
19    });
20
21    app.listen(3000);

静态文件伺服能力:

1    app.use(express.static("./public"));

模板引擎:

1    var express = require("express");
2
3    var app = express();
4
5    app.set("view engine","ejs");
6
7    app.get("/",function(req,res){
8        res.render("haha",{
9            "news" : ["我是小新闻啊","我也是啊","哈哈哈哈"]
10        });
11    });
12
13    app.listen(3000);

      二、路由

当用get请求访问一个网址的时候,做什么事情:

1    app.get("网址",function(req,res){
2
3    });       

当用post访问一个网址的时候,做什么事情:

1    app.post("网址",function(req,res){
2
3    });

如果想处理这个网址的任何method的请求,那么写all

1    app.all("/",function(){
2
3    });

这里的网址,不分大小写,也就是说,你路由是

1    app.get("/AAb",function(req,res){
2        res.send("你好");
3    });

   三、中间件

如果我的的get、post回调函数中,没有next参数,那么就匹配上第一个路由,就不会往下匹配了。

如果想往下匹配的话,那么需要写next() 

1    app.get("/",function(req,res,next){
2        console.log("1");
3        next();
4    });
5
6    app.get("/",function(req,res){
7        console.log("2");
8    });

路由get、post这些东西,就是中间件,中间件讲究顺序,匹配上第一个之后,就不会往后匹配了。next函数才能够继续往后匹配。

app.use()也是一个中间件。与get、post不同的是,他的网址不是精确匹配的。而是能够有小文件夹拓展的。

比如网址:  http://127.0.0.1:3000/admin/aa/bb/cc/dd

1    app.use("/admin",function(req,res){
2        res.write(req.originalUrl + "\n");   //    /admin/aa/bb/cc/dd
3        res.write(req.baseUrl + "\n");  //   /admin
4        res.write(req.path + "\n");   //    /aa/bb/cc/dd
5        res.end("你好");
6    });

● 大多数情况下,渲染内容用res.render(),将会根据views中的模板文件进行渲染。如果不想使用views文件夹,想自己设置文件夹名字,那么app.set("views","aaaa");

● 如果想写一个快速测试页,当然可以使用res.send()。这个函数将根据内容,自动帮我们设置了Content-Type头部和200状态码。send()只能用一次,和end一样。和end不一样在哪里?能够自动设置MIME类型。

● 如果想使用不同的状态码,可以:

res.status(404).send(‘Sorry, we cannot find that!‘);

● 如果想使用不同的Content-Type,可以:

res.set(‘Content-Type‘, ‘text/html‘);

四、GET请求和POST请求的参数

● GET请求的参数在URL中,在原生Node中,需要使用url模块来识别参数字符串。在Express中,不需要使用url模块了。可以直接使用req.query对象。

● POST请求在express中不能直接获得,必须使用body-parser模块。使用后,将可以用req.body得到参数。但是如果表单中含有文件上传,那么还是需要使用formidable模块。

     Node中全是回调函数,所以我们自己封装的函数,里面如果有异步的方法,比如I/O,那么就要用回调函数的方法封装。

 

时间: 2024-10-06 18:07:15

Express框架学习总结的相关文章

Node.js Express 框架学习

转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说明.为了学习备份,所以拷贝过来. Express框架 来自<JavaScript 标准参考教程(alpha)>,by 阮一峰 目录 概述 运行原理 底层:http模块 对http模块的再包装 什么是中间件 use方法 Express的方法 all方法和HTTP动词方法 set方法 response

Node教程——Express框架简约教程

Express框架学习 (一导学) 框架入门 这个也是是一个开发框架,是一个第三方模块,使用这个框架可以很方便的创建网站服务器 我们先来看看它的特点: 1.提供了方便简洁的路由定义方式 2.对获取HTTP请求参数进行了简化处理 3.对模板引擎支持程度高,方便渲染动态HTML页面 4.提供了中间件机制有效控制HTTP请求(对请求的拦截) 5.拥有大量第三方中间件对功能进行扩展 其实框架就是一些API,学习框架就是学习还有熟悉它的API 对比一下原生的路由还有获取请求参数的处理实现方式 简单的上手实

Node.js笔记(0003)---Express框架Router模块学习笔记

这段时间一直有在看Express框架的API,最近刚看到Router,以下是我认为需要注意的地方: Router模块中有一个param方法,刚开始看得有点模糊,官网大概是这么描述的: Map logic to route parameters. 大概意思就是路由参数的映射逻辑 这个可能一时半会也不明白其作用,尤其是不知道get和param的执行顺序 再看看源码里面的介绍: Map the given param placeholder `name`(s) to the given callbac

nodejs学习笔记二:解析express框架项目文件

上一章介绍了如何去创建一个express框架的工程项目,这章介绍一下express框架下的文件和用法解析,上一张我们创建的工程项目结构图如下: models是不属于原工程项目结构,为了实现数据模型后添加的,而node_modules这个文件夹内存放着项目需要的中间件,public是存放静态文件的文件夹,routes顾名思义就是路由解析文件的所在,views就是ejs模板引擎的视图文件,app.js是项目运行的入口存放着全局大量的配置,package.json是加载第三方包的配置文件.下面来一一解

nodejs学习笔记一:安装express框架并构建工程目录

偶遇node是在一个阳光明媚的上午,无意间打开博客看到一片关于nodejs的介绍,通读全篇后,心情跌宕起伏,哎呀,这么好的东西我竟然现在才知道,这是最气的,于是马上开始制定学习nodejs计划,好了,话不多说,开始我的学习记录. 想要学习node首先开发环境不可少,下面就记录一下安装express框架和构建第一个node工程项目(跳过安装nodejs环境,因为已经装过,nodejs.org下载对应的安装包下一步傻瓜化安装): 1.安装express express是nodejs上最流行的web开

node学习-----Express框架

Express是一套非常优秀的nodejs框架,使用它可以快速地构建web程序 一.安装 以下所有的命令是在windows平台上 npm install express -g  //将express框架安装在全局中 二.建项目 在磁盘任意位置建立项目 express ProjectName -e   //ProjectName工程名称 -e指明jade模板引擎 npm i  //自动安装package.json中的依赖项 npm start  //启动项目 在浏览器中输入:http://loca

NodeJS 入门第三天(Express框架)

一.Express框架 Express框架是后台的Node框架,所以和jQuery.zepto.yui.bootstrap都不一个东西. Express在后台的受欢迎的程度,和jQuery一样,就是企业的事实上的标准. ● 原生Node开发,会发现有很多问题.比如: ■ 呈递静态页面很不方便,需要处理每个HTTP请求,还要考虑304问题 ■ 路由处理代码不直观清晰,需要写很多正则表达式和字符串函数 ■ 不能集中精力写业务,要考虑很多其他的东西 我们自己可以把第一天的作业,就是那个静态文件服务给封

初入nodeJs express框架

学习nodejs,对于前端人员来说,不懂后台技术,也是不太容易的.当然,nodejs的唯一好处貌似就是其代码编写编译等风格上的JavaScript相同,可以说,其就是通过JavaScript进行后台代码的编写.这对于JavaScript语言来说,有了新的突破和革新(革新有点大了,突破是肯定的)呵呵. 鉴于很多前端人员不懂后台语言,学习nodejs,学会通过nodejs下的开源框架express来搭建完整的项目框架还是很有必要的. express是一个nodejs里的开源框架,在网上可以说前前后后

express框架

前面的话 Express是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助开发者创建各种 Web 和移动设备应用.本文将详细介绍express框架 概述 官网对Express的描述,它是一个基于 Node.js 平台,快速.开放.极简的 web 开发框架.优点是易上手.高性能.扩展性强 1.易上手:nodejs最初就是为了开发高性能web服务器而被设计出来的,然而相对底层的API会让不少新手望而却步.express对web开发相关的模块进行了适度的封装,屏蔽