Express框架常用API小解

转载 2015年07月08日 22:32:01

Express作为Nodejs最常用的轻量级框架,版本更新很快,2.x -> 3.x过程中也有很多改动,这里对常用的,基础的API进行一次汇总,初学者可以学习,作者本人权当复习之用.

创建一个express应用,其中express()方法返回的app实际上是一个Function对象,它被设计为传给node的http server作为处理请求的回掉函数.

1
2
3
4
5
6
7
8
var express = require('express');
var app = express();    //这里3.x版本与2.x有明显区别
 
app.get('/',function(req,res){
  res.send("Hello world!");
});
 
app.listen(3000); <span></span>

1. app的set()和get()通常用来存储一些服务器设置:

1
2
app.set('name','张三');
app.get('name');  //张三

2. app.configure([env],callback);这个函数在2.x版本中还能看到,但是到了3.x官方已经不推荐使用,它的主要作用是当env和app.get('env')匹配时,也就是preocess.env.NODE_ENV,则执行callback方法..官方文档推荐大家使用if判断的方式,看代码可知:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
app.configure(function(){
  app.set('name','xiaoshi');
});
 
//上面代码等价于下面代码
 
app.set('name','xiaoshi');
 
//---------------------------------
 
app.configure('development',function(){
  app.set('name','xiaoshi');
});
 
//上面代码等价于下面代码
 
if('development' == app.get('env')){
  app.set('name','xiaoshi');
}

3. app.use([paht],function); app.use不是用来处理请求,而是加载处理请求的模块的参数.通常是处理中间件,可选参数的默认值是'/'.

1
2
3
app.use(function(req,res,next){
  res.send("hello world");
});

path路径对于function不可见,这意味着req.path是找不到值的,这么设计为了让中间件可以不需要修改代码就在任意前缀路径下执行.常见定义静态文件服务的就是如此.app.use()定义的中间件顺序会被严格执行.


4. app.render(view,[option],callback);渲染view,callback中处理返回的渲染后的字符串.如下:

1
2
3
app.render('email',function(err,html){
  //...
});

5. req.params 这是一个存放键值对形式的数组对象.比如路由/user/:name,"name"属性会在req.params.nam中,你可以通过这种方式获取值.

6. req.query 这是一个经过解析的url请求参数的对象.

7.req.body 这个是我们比较常见的,由bodyParser()提供的解析过的请求体,默认是{}.看一下例子:

1
2
3
4
5
6
7
//POST请求,user[name]=xiaoshi
req.body.user.name
// => "xiaoshi"
 
//POST {"name":"xiaoshi"}
req.body.name
// => "xiaoshi"

8. req.param(name);也是一个查询参数值的方法,对比之前类似的方式,它们优先级如下:

req.params > req.body > req.query

9. req.path 返回请求的URL路径名(不包括参数); req.host 返回主机名(不包括端口号)

10. res.redirect([status],url); 使用可选状态码,跳转url

1
res.redirect('http://example.com');

11. res.send([body|status],[body]); 发送一个响应,该方法作为主要的响应函数,它会自动设置Content-Length,同事设置Content-Type,除非之前已经设置过

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

这里仅列出最常见,最常用的,更多的还是在官方API文档上.

初识Express框架-详细学习API

express.static(root, [options]) express.static是唯一的一个express内置的中间件,他用于处理静态文件,是基于serve-static来完成的。    ...

Nodejs-Express框架API文档及Jade文档

  • 2014年04月29日 16:49
  • 134KB
  • 下载

node.js学习(七、express框架创建api接口)

根据官方文档,用如下方式构造请求: app.get("/login/:username/:password",function (req, res) { console.log(re...

Express框架req,res常用属性与方法

var express = require('express'); var bodyParser = require('body-parser'); var app = express(); //js...

express常见代码小解&express项目建立

1 全局安装 express 2 利用express创建项目02 my app的项目目录 如图所示           app.js:项目入口       ...

常用对象API(集合框架-List和Set的特点)

List接口: 有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。 与...

19-Map集合-11-常用对象API(集合框架-Map集合练习-记录字母次数代码)

package cn.itcast.map.test; import java.util.Iterator; import java.util.Map; import java.util.TreeM...
  • wy_0928
  • wy_0928
  • 2015年08月11日 10:07
  • 192

Web自动化框架LazyUI使用手册(7)--浏览器常用操作API

LazyUI框架中,BrowserEmulator类提供了大量的浏览器操作,常用的API列举如下:   1. 基本操作 /** * Open the URL * 打开一个URL * @param...

JavaSe基础XX17——常用对象API-集合框架_4

*01-常用对象API(集合框架-Map集合特点&常用方法)

ANDROID 开发常用的框架、工具、API最全集合

首发:ANDROID 开发常用的框架、工具、API最全集合 以下是我整理的安卓开发常用的工具、框架、API的集合,希望大家有帮助! 1、RecyclerView items的动画库     g...
  • xhmj12
  • xhmj12
  • 2016年11月02日 10:34
  • 296
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Express框架常用API小解
举报原因:
原因补充:

(最多只允许输入30个字)