EXPRESS

Express是一个基于Node.js的web应用开发框架,它简化了创建Web服务器和API接口的过程。即使不使用Express,也能用Node.js原生方法实现。通过安装并引入Express,我们可以方便地监听GET和POST请求,响应内容给客户端,获取查询参数和URL动态参数。使用Express,开发者可以高效地搭建Web网站服务器和API接口服务器。

Express

Express中文官网:Express - 基于 Node.js 平台的 web 应用开发框架 - Express 中文文档 | Express 中文网

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

不使用Express也可以创建web服务器,用Nodejs原生方法也可以创建

Express 能做什么?

对于前端程序员来说,最常见的两种服务器,分别是:

  • Web 网站服务器:专门对外提供 Web 网页资源的服务器。

  • API 接口服务器:专门对外提供 API 接口的服务器。

使用 Express,我们可以方便、快速的创建 Web 网站的服务器或 API 接口的服务器

Express的使用

1.安装

在项目文件夹里面运行以下命令

// 安装的4.17.1版本,比较稳定,安装最新版本去掉@4.17.1即可
npm i express@4.17.1

2.创建基本web服务器

// 引入express模块
const express = require(`express`)

// 创建web服务器
const app = express()

//编写你的get post请求

// 使用app.listen,设置端口,启动服务器
app.listen(3000, () => {
    console.log(`服务器启动于http://127.0.0.1:3000`);
})

3.监听get 、post请求

// 参数1:客户端请求的URL地址
// 参数2:请求的处理函数
app.get(`请求的url`,(req,res)=>{
    // req:请求对象(包含所有的与请求相关的属性和方法)
    // res:响应对象(包含所有的与响应相关的属性和方法)
    处理函数
})

app.post(`请求的url`,(req,res)=>{
    // req:请求对象(包含所有的与请求相关的属性和方法)
    // res:响应对象(包含所有的与响应相关的属性和方法)
    处理函数
})

4.响应内容给客户端

通过res.send()方法,可以把处理好的内容,发送给客户端

app.get(`/`, (req, res) => {
    res.send({
        uname:`lbw`,
        age:17,
        sex:`男`
    })
})

app.post(`/`, (req, res) => {
    res.send(`请求成功`)
})

5.获取URL携带的查询参数

通过req.query对象,可以访问到客户端通过查询字符串形式发送到客户端的参数

app.post(`/user`, (req, res) => {
    // res.query 默认为一个空对象
    // 客户端发送?id=1&name=lbw 以这种查询字符串发送到服务器的参数
    // 可以通过req.query对象访问到 比如 req.query.id 
    console.log(req.query); //{ id: '1', name: 'lbw' }
    res.send(`ok`)
})

6.获取URL地址中的动态参数

通过req.params对象,可以访问到URL中通过 : 匹配到的动态参数.

// URL地址中,可以通过:参数名 的形式动态获取参数(多个参数名之间用 / 隔开)
app.post(`/:id/:uname`, (req, res) => {
    //req.params 空对象 存放动态获取的参数值
    console.log(req.params); // { id: '32', uname: 'lbw' }
    res.send(`ok`)
})

06-13
### Express.js 框架使用指南 Express 是基于 Node.js 平台的快速、开放、极简的 Web 开发框架,广泛应用于 Web 应用和 API 的开发。以下是关于 Express.js 框架的核心功能、项目初始化、路由配置及中间件使用的详细说明。 #### 一、项目初始化 在开始构建 Express 项目之前,需要确保已安装 Node.js 和 npm(Node.js 包管理工具)。通过以下命令初始化一个新的 Express 项目[^1]: ```bash mkdir my-express-app cd my-express-app npm init -y npm install express ``` #### 二、创建基本服务器 使用 Express 创建一个简单的 Web 服务器可以按照以下代码实现[^4]: ```javascript const express = require('express'); const app = express(); // 定义 GET 路由 app.get('/', (req, res) => { res.send('Hello World!'); }); // 定义 POST 路由 app.post('/', (req, res) => { res.send('Hello POST Request!'); }); // 启动服务器监听端口 const PORT = 8080; app.listen(PORT, () => { console.log(`Server is running on http://127.0.0.1:${PORT}`); }); ``` #### 三、中间件使用 中间件是 Express 中处理请求和响应的关键组件。它可以在请求到达路由处理器之前执行逻辑,例如解析请求体、日志记录等。以下是一个示例,展示如何使用 `body-parser` 解析 JSON 请求体[^2]: ```javascript const express = require('express'); const bodyParser = require('body-parser'); const app = express(); // 使用 body-parser 中间件 app.use(bodyParser.json()); // 处理 POST 请求并解析 JSON 数据 app.post('/data', (req, res) => { res.json(req.body); }); const PORT = 8080; app.listen(PORT, () => { console.log(`Server is running on http://127.0.0.1:${PORT}`); }); ``` #### 四、模板引擎集成 为了更方便地渲染动态 HTML 页面,Express 支持多种模板引擎,如 `ejs` 或 `art-template`。以下是如何集成 `express-art-template` 的示例[^3]: ```javascript const express = require('express'); const path = require('path'); const app = express(); // 配置模板引擎 app.set('view engine', 'art'); app.set('views', path.join(__dirname, 'views')); // 渲染页面 app.get('/', (req, res) => { res.render('index', { title: 'Express Template Example' }); }); const PORT = 8080; app.listen(PORT, () => { console.log(`Server is running on http://127.0.0.1:${PORT}`); }); ``` #### 五、路由器模块化 对于大型项目,推荐将路由逻辑分离到独立文件中以保持代码整洁。以下是一个示例[^4]: ```javascript // routes/index.js const express = require('express'); const router = express.Router(); router.get('/', (req, res) => { res.send('Home Page'); }); module.exports = router; // app.js const express = require('express'); const app = express(); const indexRouter = require('./routes/index'); app.use('/', indexRouter); const PORT = 8080; app.listen(PORT, () => { console.log(`Server is running on http://127.0.0.1:${PORT}`); }); ``` ### 总结 Express.js 提供了强大的功能支持 Web 应用开发,包括路由定义、中间件使用、模板引擎集成以及模块化设计。通过上述步骤,可以快速搭建一个功能完善的 Web 应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值