Skip to content

Express常用api

  • Express: 基于 Node.js 平台,快速、开放、极简的 Web 开发框架 。

创建服务

js
const express = require('express')
const app = express()

app.get('/', function(req, res) {
  res.send('hello world')
})

app.listen(3000, () => {
  console.log('服务启动成功! http://localhost:3000')
})

Request & Response

Request

  • req.query:获取URL的查询参数串
  • req.body: 获取请求主体(post数据,需要设置中间件函数 json与urlencode)
  • req.cookies:获取Cookies (需要使用 cookie-parser 中间件)
  • req.hostname / req.ip:获取主机名和IP地址
  • req.params:获取路由的parameters
  • req.path:获取请求路径
  • req.protocol:获取协议类型
  • req.get():获取指定的HTTP请求头

Response

  • res.set():设置HTTP头,传入object可以一次设置多个头
  • res.status():设置HTTP状态码
  • res.send():传送HTTP响应
  • res.redirect():设置响应的Location HTTP头,并且设置状态码302
  • res.json():传送JSON响应
  • res.cookie(name,value [,option]):设置Cookie
  • res.clearCookie():清除Cookie
  • res.download():传送指定路径的文件
  • res.sendFile(path [,options] [,fn]):传送指定路径的文件 -会自动根据文件extension设定Content-Type
  • res.render(view [, locals] [, callback]) 渲染一个view

静态资源托管

js
app.use(express.static('public')) //  public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了
// eg: http://localhost:3000/images/kitten.jpg

脚手架工具

js
// 全局安装
npm install express-generator -g
// 生成项目,ejs为模板引擎
express --view=ejs myapp