一小时:手把手教你入门express【建议收藏】

express

简介

Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。搭建web服务器

Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。

使用Express开发框架可以非常方便、快速的创建Web网站的服务器或API接口的服务器

官方网址:https://www.expressjs.com.cn/

简单使用

下载安装:

npm init -y
npm i express -S

使用步骤:

  1. 导入包
  2. 创建服务器
  3. 处理请求
  4. 监听端口
const express = require('express')
const app = express()
app.get(路由,回调) // get是请求方法
app.listen(端口号)

路由方法

请求方法还支持:

get - 查询请求 - 条件在地址栏

post - 新增请求 - 数据在请求主体

put - 修改请求 - 条件在地址栏 - 数据在请求主体

delete - 删除请求 - 条件在地址栏

各个动词方法用来处理对应的请求。不过有一个方法除外:

app.all() // 可以用来处理任意请求方式

虽然all方法可以处理任意请求,但是尽量少用,甚至尽量不要使用。

使用postman进行调试

路由路径

完全匹配

// 匹配根路径的请求
app.get('/', function (req, res) {
   
  res.send('root');
});

// 匹配 /about 路径的请求
app.get('/about', function (req, res) {
   
  res.send('about');
});

// 匹配 /random.text 路径的请求
app.get('/random.text', function (req, res) {
   
  res.send('random.text');
});

不完全匹配

// 匹配 acd 和 abcd
app.get('/ab?cd', function(req, res) {
   
  res.send('ab?cd');
});

// 匹配 abcd、abbcd、abbbcd等
app.get('/ab+cd', function(req, res) {
   
  res.send('ab+cd');
});

// 匹配 abcd、abxcd、abRABDOMcd、ab123cd等
app.get('/ab*cd', function(req, res) {
   
  res.send('ab*cd');
});

// 匹配 /abe 和 /abcde
app.get('/ab(cd)?e', function(req, res) {
   
 res.send('ab(cd)?e');
});

字符 ?、+、* 和 () 是正则表达式的子集,- 和 . 在基于字符串的路径中按照字面值解释。

正则匹配:

// 匹配任何路径中含有 a 的路径:
app.get(/a/, function(req, res) {
   
  res.send('/a/');
});

// 匹配 butterfly、dragonfly,不匹配 butterflyman、dragonfly man等
app.get(/.*fly$/, function(req, res) {
   
  res.send('/.*fly$/');
});

路由多次处理

使用一个回调函数处理路由:

app.get('/example/a', function (req, res) {
   
  res.send('Hello from A!');
});

多次处理:

app.get('/example/b', function (req, res, next) {
   
  console.log('这处理完之后会交给下一个函数处理');
  next();
}, function (req, res) {
   
  res.send('Hello from B!');
});

使用回调函数数组处理路由:

var cb0 = function (req, res, next) {
   
  console.log('CB0')
  next()
}

var cb1 = function (req, res, next) {
   
  console.log('CB1')
  next()
}

var cb2 = function (req, res) {
   
  res.send('Hello from C!')
}

app.get('/example/c', [cb0, cb1, cb2])

混合使用函数和函数数组处理路由:

var cb0 = function (req, res, next) {
   
  console.log('CB0')
  next()
}

var cb1 = function 

你可能感兴趣的:(javascript,总结,express,nodejs,javascript)