node學習—express基本使用

xun__xing發表於2020-12-30

一、express基本使用

1、匯入express

第一種方法

require('./init');
const express = require('express');
const http = require('http');
const app = express(); //建立一個express應用
// app實際上是一個函式,用於處理請求的函式
const server = http.createServer(app);
const port = 5008;
server.listen(port, () => {
  console.log(`server listen on ${port}`);
});

在這裡插入圖片描述

第二種方法

require('./init');
const express = require('express');
const app = express(); //建立一個express應用
// app實際上是一個函式,用於處理請求的函式

const port = 5008;
app.listen(port, () => {
  console.log(`server listen on ${port}`);
});
//其內部原理是
// function listen(port, callback){
//   const http = require('http');
//   http.createServer(this).listen(port, callback);
// }

在這裡插入圖片描述

2、獲取請求資訊

require('./init');
const express = require('express');
const app = express(); //建立一個express應用,app實際上是一個函式,用於處理請求的函式

// 配置一個請求對映,如果請求方法和請求路徑均滿足匹配,交給處理函式進行處理
// app.請求方法("請求路徑", 處理函式)

 app.get("/abc",(req,res)=>{
 // req 和 res 是被express封裝過後的物件
 // 獲取請求資訊
   console.log('請求頭',req.headers);
   console.log('請求路徑',req.path);
   console.log('請求引數',req.query);
 })

const port = 5008;
app.listen(port, () => {
  console.log(`server listen on ${port}`);
});

在這裡插入圖片描述

在這裡插入圖片描述

require('./init');
const express = require('express');
const app = express(); //建立一個express應用,app實際上是一個函式,用於處理請求的函式

// 配置一個請求對映,如果請求方法和請求路徑均滿足匹配,交給處理函式進行處理
// app.請求方法("請求路徑", 處理函式)

 app.get("/abc",(req,res)=>{
 // req 和 res 是被express封裝過後的物件
 // 獲取請求資訊
   console.log('請求頭',req.headers);
   console.log('請求路徑',req.path);
   console.log('請求引數',req.query);
   console.log('params',req.params);
 })

const port = 5008;
app.listen(port, () => {
  console.log(`server listen on ${port}`);
});

在這裡插入圖片描述

在這裡插入圖片描述

3、獲取響應資訊

require('./init');
const express = require('express');
const app = express(); //建立一個express應用,app實際上是一個函式,用於處理請求的函式
// 配置一個請求對映,如果請求方法和請求路徑均滿足匹配,交給處理函式進行處理
// app.請求方法("請求路徑", 處理函式)
app.get("/abc/:id",(req,res)=>{
  //  響應
  res.send({
    id: 123,
    name: "jimo",
    age: 18,
  });
})
const port = 5008;
app.listen(port, () => {
  console.log(`server listen on ${port}`);
});

在這裡插入圖片描述

4、設定響應頭

require('./init');
const express = require('express');
const app = express(); //建立一個express應用,app實際上是一個函式,用於處理請求的函式

// 配置一個請求對映,如果請求方法和請求路徑均滿足匹配,交給處理函式進行處理
// app.請求方法("請求路徑", 處理函式)
app.get("/abc/:id",(req,res)=>{
  // 設定響應頭
  res.setHeader("a", "123");
  res.send([2, 3, 4]);
});
const port = 5008;
app.listen(port, () => {
  console.log(`server listen on ${port}`);
});

在這裡插入圖片描述
在這裡插入圖片描述

5、設定響應碼

require('./init');
const express = require('express');
const app = express(); //建立一個express應用,app實際上是一個函式,用於處理請求的函式

// 配置一個請求對映,如果請求方法和請求路徑均滿足匹配,交給處理函式進行處理
// app.請求方法("請求路徑", 處理函式)

app.get("/abc/:id",(req,res)=>{
  // 設定響應碼,三種方法皆可
  res.status(302).header("location", "https://www.csdn.net/").end();
  // res.status(302).location("https://www.csdn.net/").end();
  // res.redirect("https://www.csdn.net/",302);
});

const port = 5008;
app.listen(port, () => {
  console.log(`server listen on ${port}`);
});

會重定向到設定的頁面
在這裡插入圖片描述

6、匹配任何請求

require('./init');
const express = require('express');
const app = express(); //建立一個express應用,app實際上是一個函式,用於處理請求的函式

// 配置一個請求對映,如果請求方法和請求路徑均滿足匹配,交給處理函式進行處理
// app.請求方法("請求路徑", 處理函式)
// 匹配任何get請求
app.get("*", (req, res) => {
  console.log("abc");
});

const port = 5008;
app.listen(port, () => {
  console.log(`server listen on ${port}`);
});

相關文章