首頁 >web前端 >js教程 >淺談Node第三方框架Express的使用方法

淺談Node第三方框架Express的使用方法

青灯夜游
青灯夜游轉載
2022-05-23 20:34:411934瀏覽

這篇文章帶大家了解一下Node第三方框架Express,簡單聊聊如何使用好Express框架,希望對大家有幫助!

淺談Node第三方框架Express的使用方法

1.Express框架介紹

  • #1.Express是Nodejs開發中一個非常重量級的第三方框架,它對於NodeJS服務端就相當於Jquery對於HTML客戶端。

    • 如果連Express都不會用,基本上都不太好意思跟別人說你會NodeJS
  • 2 .Express官網:

    • www.expressjs.com.cn/

    • expressjs.com/

        ##一般我們學習一個新的技術,都是去官網文檔查看它的API,然後多多嘗試,熟能生巧
  • #3.Express的github位址: https://github.com/expressjs/express

      Express的原作者TJ在node社群非常的有名,他寫過200多個框架,目前他已經將Express交給了朋友維護,宣布不再維護NodeJS框架,轉向Go語言(https://github.com/tj)
  • #4.Express官網是這樣介紹自己的:基於Node. js 平台,快速、開放、極簡的web 開發框架。

    • Express一個非常重要的亮點是它沒有改變nodejs已有的特性,而是在它的基礎上進行了拓展

      • 也就是說,使用Express你既可以使用nodejs原生的任何API,也能使用Express的API
  • ##5.Express三大核心功能

      1.託管靜態資源
    • #第二天講的nodejs實作靜態伺服器功能在express中只需要一行程式碼
    • 2.路由
    • express自帶路由功能,讓Node服務端開發變得極為簡單
      • express支援鍊式語法,可以讓程式碼看起來更簡潔
    • #==3.中間件==
      • Express最核心的技術和思想,萬物皆中間件
      • 中間件雖然理解起來有點困難,但是使用起來非常方便,類似於
          bootstrap插件
        • .
2.下載express

下載指令:

npm i express如果你的網站很慢,可以使用npm config set registry

registry.npm.taobao.org/來提升速度

#

     就是淘宝帮你把这个东西下载淘宝的服务器上,然后你在淘宝服务器上下载

淺談Node第三方框架Express的使用方法

#3.使用Express

//1.导入模块
const express = require('express')

//2.创建服务器
/* express() 相当于http模块的http.createServer() */
const app = express()


//3.接收客户端请求
/*(1)express最大的特点就是自带路由功能,我们无需在一个方法中处理所有请求
		* 路由:一个请求路径对应一个方法(函数)
   (2)在express中,每一个请求都是一个单独的方法
 */

app.get('/',(req,res)=>{
    //响应客户端数据

    //express响应数据 send方法:自动帮我们设置好了响应头,无需担心中文乱码问题
    res.send('月下风起')

})

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

//4.开启服务器
app.listen(3000,()=>{
    console.log('服务器启动成功')
})

4-Express回應客戶端資料

//1.导入模块
const express = require('express')

//2.创建服务器
/* express() 相当于http模块的http.createServer() */
const app = express()


//3.接收客户端请求

//文本类型数据
app.get('/',(req,res)=>{
    //响应客户端数据
    res.send('月下风起')
})

//json格式数据
app.get('/info',(req,res)=>{
    //express自动帮我们将js对象转成json响应给客户端
    res.send({
        name:'张三',
        age:20
    })
})

//文件类型数据
app.get('/login',(req,res)=>{
    res.sendFile(__dirname + '/login.html')
})

//4.开启服务器
app.listen(3000,()=>{
    console.log('服务器启动成功')
})

5.Express託管靜態資源

http://expressjs.com/en/starter/static-files.html

//1.导入模块
const express = require('express');

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

//托管静态资源(相当于我们之前写的静态资源服务器)
/* 
1.当请求路径为/时,express会自动读取www文件夹中的index.html文件响应返回
2.当路径请求为www文件夹中的静态资源,express会自动拼接文件路径并响应返回
*/
app.use(express.static('www'))

//4.开启服务器
app.listen(3000,()=>{
    console.log('success')
})

6.第三方中間件使用

    1.在Express官網,有非常多得第三方中間件,它們可以讓我們的Nodejs開發變得極其簡單
    • 中間件前端的插件,使用後就會為express中的req或res新增成員
  • 2.所有的第三方框架學習套路都是一樣的
  • 1.進官網,查文檔
    • 2.CTRL C 與CTRL V
  • 3.第三方中介軟體使用步驟一般都是固定兩步驟
    • 一: 安裝
    • npm i xxxx

      (官網複製貼上)

        第三方中間件都需要使用npm安裝,可以理解為是一種特殊的第三方模組
    • #二: 使用
    • app.use(xxx)

      (官網複製貼上)

    body-parse第三方中介軟體:解析post請求參數
  • #安裝body-parser :
      npm install body-parser
    • #https://www.npmjs.com/package/body-parser

    #
    //导入模块
    const express = require('express')
    //创建服务器
    const app = express()
    
    //使用第三方中间件
    /*所有的第三方模块思路都是一样 
        1.进官网,查文档
        2.找examples(使用示例),复制粘贴
            a.安装第三方模块:`npm i body-parser`
            b.使用中间件: arr.use(具体用法请复制粘贴) 
    使用body-parser中间件之后,你的req会增加一个body属性,就是你的post请求参数
    */
    //(1)导入模块
    const bodyParser = require('body-parser')
    // parse application/x-www-form-urlencoded 
    //(2)使用中间件
    app.use(bodyParser.urlencoded({ extended: false }))
    //解析json参数
    app.use(bodyParser.json())
    
    app.post('/abc',(req,res)=>{
        console.log(req.body)
        //告诉客户端我收到的参数
        res.send(req.body)
    })
    
    app.post('/efg',(req,res)=>{
        console.log(req.body)
        //告诉客户端我收到的参数
        res.send(req.body)
    })
    
    //开启服务器
    app.listen(3000, () => {
        console.log('success');
    })
  • 更多node相關知識,請造訪:
nodejs 教學

以上是淺談Node第三方框架Express的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除