定义
Express是基于Node.js平台,快速、开放、极简的Web开发框架。
本质
Express是一个npm上的第三方包,提供了快速创建Web服务器的便捷方法。
作用
与Node.js内置的http模块类似,Express也是专门用来创建Web服务器的,但它极大地简化了这一过程,提高了开发效率。
特点
简洁而灵活:Express提供了简单而直观的API,使得构建Web应用程序变得简单快捷。
强大的路由系统:可以轻松管理不同的请求路径,将特定的URL路径映射到相应的处理函数。
中间件机制:允许开发人员在请求到达路由处理函数之前或之后执行逻辑,例如身份验证、日志记录和错误处理等。
视图引擎支持:可以与各种模板引擎集成,如EJS、Pug(以前称为Jade)、Handlebars等,方便生成动态的HTML页面。
express能做什么
express的核心功能
请求对象(Request):包含了客户端请求的所有信息,例如URL、HTTP方法、头信息等。
响应对象(Response):包含了将要发送给客户端的信息,例如响应状态码、头信息、响应体等。
中间件(Middleware):中间件是一种可复用的代码,用于处理请求和响应。它可以执行各种任务,如路由处理、身份验证、日志记录等。
路由(Routing):Express提供了一种方便的方式来定义路由,以处理不同的URL路径和HTTP方法。
模板引擎:支持各种模板引擎,可用于创建动态页面。
数据库操作:可以方便地进行数据库操作,如查询、插入、更新等。
错误处理:提供了一种方便的方式来处理错误,可以统一处理异常和错误。
安装
npm i express@xxx // 可以指定版本安装
创建基本的web服务器
// 1 导入express
const express = require('express')
// 2 创建 web 服务器
const app = express()
// 3 启动服务器
app.listen(3000, ()=>{console.log('server running at http:127.0.0.1:3000')
})
创建基本的POST&GET请求
const express = require('express');
const app = express();
const port = 3000;// 处理 GET 请求
app.get('/', function(req, res) {res.send('Hello World!');
});// 处理 POST 请求
app.post('/', function(req, res) {res.send('Received a POST request');
});// 启动服务器
app.listen(port, function() {console.log(`App listening at http://localhost:${port}`);
});