Express框架——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('网站服务器启动成功'))

你可能感兴趣的:(nodejs)