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