欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Express框架——Express框架及初体验

程序员文章站 2022-03-03 12:11:12
1. Express框架及初体验1.1 Express框架是什么Express是一个基于Node平台的web应用开发框架, 它提供了一系列的强大特性, 帮助你创建各种web应用.我们可以使用npm i express命令进行下载1.2 Express框架特性提供了方便简洁的路由定义方式对获取HTTP请求参数进行了简化处理对模板引擎支持程度高,方便渲染动态HTML页面提供了中间件机制有效控制HTTP请求拥有大量第三方中间件对功能进行扩展1.3 原生Node.js与Express框架对比...

1. Express框架及初体验

1.1 Express框架是什么

Express是一个基于Node平台的web应用开发框架, 它提供了一系列的强大特性, 帮助你创建各种web应用.
我们可以使用npm i express命令进行下载

1.2 Express框架特性

  • 提供了方便简洁的路由定义方式
  • 对获取HTTP请求参数进行了简化处理
  • 对模板引擎支持程度高,方便渲染动态HTML页面
  • 提供了中间件机制有效控制HTTP请求
  • 拥有大量第三方中间件对功能进行扩展

1.3 原生Node.js与Express框架对比之路由

  • 原生Nodejs
app.on('request', (req, res) => {
     // 获取客户端的请求路径
     let { pathname } = url.parse(req.url);
     // 对请求路径进行判断 不同的路径地址响应不同的内容
     if (pathname == '/' || pathname == 'index') {
        res.end('欢迎来到首页');
     } else if (pathname == '/list') {
        res.end('欢迎来到列表页页');
     } else if (pathname == '/about') {
        res.end('欢迎来到关于我们页面')
     } else {
        res.end('抱歉, 您访问的页面出游了');
     }
 });
  • express框架
 // 当客户端以get方式访问/时
 app.get('/', (req, res) => {
     // 对客户端做出响应
     res.send('Hello Express');
 });

 // 当客户端以post方式访问/add路由时
 app.post('/add', (req, res) => {
    res.send('使用post方式请求了/add路由');
 });

1.4 原生Node.js与Express框架对比之获取请求参数

  • 原生Node.js
app.on('request', (req, res) => {
    // 获取GET参数
    let {query} = url.parse(req.url, true);
    // 获取POST参数
    let postData = '';
    req.on('data', (chunk) => {
        postData += chunk;
    });
    req.on('end', () => {
        console.log(querystring.parse(postData)
    })); 
 });
  • Express框架
app.get('/', (req, res) => {
    // 获取GET参数
    console.log(req.query);
 });

 app.post('/', (req, res) => {
    // 获取POST参数
    console.log(req.body);
 }) 

1.5 express体验

const express = require("express")

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

app.get('/', (req, res) => {
  // send()
  // 1.send方法内部会检测响应内容的类型
  // 2.send方法会自动设置http状态码
  // 3.send方法会帮我们自动设置响应的内容类型及编码
  res.send('hello express')
})

app.get('/list', (req, res) => {
  res.send({name: '张三', age: 20})
})

// 监听端口
app.listen(3000, () => console.log('网站服务器启动成功'))

本文地址:https://blog.csdn.net/weixin_47085255/article/details/107487061

相关标签: nodejs