前言
这是我参与「第四届青训营」笔记创作活动的第16天
Express是基于 Node.js 平台,快速、开放、极简的 Web 开发框架.
Express本身是极简的,仅仅提供了web开发的基础功能,但它可以添加中间件的方式集成许多外部插件处理HTTP请求。
常用中间件
- body-parser
- compression
- cookie-parser
- cors
- morgan
简单使用
创建文件
// 创建myapp文件夹
mkdir myapp
// 进入myapp文件夹
cd myapp
// 初始化myapp(添加package.json)
npm init
// 下载express
npm i express
// 在myapp中创建入口文件
// windows系统的命令使用
type nul> app.js
dir
创建express简单应用程序
const express = require('express')
const app = express()
app.get('/', (req, res) => {
res.send('hello world')
})
app.listen(3000, () => {
console.log('Server runing at http://localhost:3000/')
})
在终端中通过node app.js来开启服务,这样一个简单的基于express的服务器就搭建完成,之后在浏览器中输入http://localhost:3000/你就可以在页面中看到hello world
基本路由
路由是指确定应用程序如何响应客户端对特定端点的请求,该端点是 URI(或路径)和特定的 HTTP 请求方法(GET、POST 等)。
每个路由可以有一个或多个处理函数,当路由匹配时执行。 路由定义采用以下结构:
app.METHOD(PATH, HANDLER)
app是 的一个实例express。METHOD是一个HTTP 请求方法,小写。PATH是服务器上的路径。HANDLER是路由匹配时执行的函数。 路由示例
app.post('/', function (req, res) {
console.log(req.url) // 请求地址
console.log(req.method) // 请求方法
console.log(req.headers) // 请求头
res.send('Got a POST request')
})
// delete请求
app.delete('/user', function (req, res) {
res.send('Got a DELETE request at /user')
})
常用中间件
body-parser
body-parser:Node.js 正文解析中间件,在处理程序之前在中间件中解析传入的请求主体,在req.body属性下可用。
配置如下
// 项目入口文件
const express = require('express')
const app = express()
var bodyParser = require('body-parser')
//配置body-parser
//只要加入这个配置,就会在req加一个属性body
//可以通过req.body获取post表单请求体数据
app.use(bodyParser.urlencoded({ extend: false }))
app.use(bodyParser.json())
compression
Node.js 压缩中间件,对文件进行压缩
// 下载包
npm i compression
// 使用
var compression = require('compression')
app.use(compression([options]))
cookie-parser
解析Cookie标头并填充req.cookies以 cookie 名称为键的对象。或者可以通过传递一个字符串来启用签名 cookie 支持,该 secret字符串分配给req.secret其他中间件使用。
// 下载依赖包
npm i cookie-parser
// 使用
var cookieParser = require('cookie-parser')
app.use(cookieParser())
cors
可解决跨域问题
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())
morgan
会在终端中打印请求日志
//
npm install morgan
//
var morgan = require('morgan')
morgan('tiny')
总结
express提供了最简单而强大的方式来创建 Web 服务器。它的极简主义方法、没有偏见、专注于服务器的核心功能,让更多人使用。未完待续~~~😀