Node.js之Express | 青训营笔记

180 阅读2分钟

前言

这是我参与「第四届青训营」笔记创作活动的第16天

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

Express本身是极简的,仅仅提供了web开发的基础功能,但它可以添加中间件的方式集成许多外部插件处理HTTP请求。

常用中间件

  • body-parser
  • compression
  • cookie-parser
  • cors
  • morgan

简单使用

image.png

创建文件

// 创建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 服务器。它的极简主义方法、没有偏见、专注于服务器的核心功能,让更多人使用。未完待续~~~😀