最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Express框架定制路由實(shí)例分析

 更新時(shí)間:2023年05月15日 09:30:40   作者:Teacher_Tian_2019  
這篇文章主要介紹了Express定制路由,結(jié)合實(shí)例形式分析了express框架定制路由原理、用法及相關(guān)注意事項(xiàng),需要的朋友可以參考下

1、序言

  上一節(jié)快速搭建Express開發(fā)系統(tǒng)步驟,對(duì)如何使用express-generator創(chuàng)建一個(gè)WEB項(xiàng)目進(jìn)行了說明,本節(jié)我們會(huì)對(duì)這個(gè)項(xiàng)目的代碼進(jìn)行分析,完成一個(gè)路由功能的開發(fā)。涉及的知識(shí)點(diǎn)有以下幾個(gè):

  1. 開發(fā)一個(gè)路由模塊(可以支持get和post請(qǐng)求)
  2. 測(cè)試(get請(qǐng)求用瀏覽器驗(yàn)證、post請(qǐng)求呢,我就用postman簡(jiǎn)單處理一下,因?yàn)楸竟?jié)課程沒有想去講web端post請(qǐng)求的知識(shí),后續(xù)有機(jī)會(huì)單獨(dú)講解吧)

2、開發(fā)一個(gè)路由模塊

  在上一篇文章中講到,我們以http://localhost:3000/system 路由為例,制作它的get和post請(qǐng)求路由。步驟如下:

2.1 在routes目錄下創(chuàng)建system.js文件

代碼內(nèi)容如下

var express = require('express');
var router = express.Router();
// get router
router.get('/', function(req, res, next) {
    res.send('<p>這是get請(qǐng)求/system返回的資源</p>')
});
// post router
router.post('/:id', function(req, res, next) {
    var id = req.params.id;          //注意這里的id是/:id指定的路由參數(shù)
    var name = req.body.name;
    var tel = req.body.tel;
    res.json({
        status:'ok',
        message:'你發(fā)送的內(nèi)容('+ id + '、' + name + '、' + tel +')服務(wù)器已經(jīng)收到'
    });
});
module.exports = router;

  解釋一下,router.get用于響應(yīng)http的get請(qǐng)求,router.post用于響應(yīng)http的post請(qǐng)求。我們?cè)诘谌糠烛?yàn)證時(shí),分別會(huì)通過瀏覽器和postman分別來對(duì)/system路由發(fā)起get和post請(qǐng)求。
  此外,/:id這部分會(huì)映射到用戶的url請(qǐng)求路徑中,如你的請(qǐng)求鏈接是http://localhost:3000/system/2402040134,那么在post的處理函數(shù)中,會(huì)將:id匹配到2402040134這個(gè)值,相當(dāng)于是一個(gè)url參數(shù)。同時(shí),要注意,在代碼中獲取id的值時(shí),使用的是req.params這個(gè)對(duì)象。不可與req.body混淆。

2.2、如何使路由模塊生效

  不過,目前這個(gè)代碼還沒有被注冊(cè)到/system路徑下,接下來我們需要在app.js中添加幾行代碼。
在這里插入圖片描述
  注:在app.js中第9行引入我們的system.js模塊,第24行,將這個(gè)模塊注冊(cè)在/system路徑上。

3、測(cè)試驗(yàn)證

  在vs code中沒有顯示powershell控制臺(tái)時(shí),可以使用ctrl+` 喚醒。然后輸入npm start,啟動(dòng)我們的項(xiàng)目。

3.1 驗(yàn)證router.get

  這里我們通過瀏覽器訪問/system,就可以執(zhí)行到router.get后邊的方法,看看是否會(huì)得到預(yù)期的返回(是一段Html內(nèi)容)。
在這里插入圖片描述

3.2 驗(yàn)證router.post

  安裝postman的過程我不在這里描述了,大家自行安裝一下。以下截圖是我請(qǐng)求界面的信息及驗(yàn)證結(jié)果。
在這里插入圖片描述
  注意,在上圖中url中的2402040134即路由參數(shù),下方的name和tel是post的請(qǐng)求body內(nèi)容。最后,可以看到,返回了我們預(yù)期的json內(nèi)容。

4、總結(jié)

  內(nèi)容不是很復(fù)雜,寫得比較簡(jiǎn)單,為了方便初學(xué)的朋友跟著練習(xí)。當(dāng)然,不忘預(yù)告一下,下一章節(jié)我會(huì)以本文中提到的router.get請(qǐng)求為重點(diǎn),引入ejs模板的使用,讓大家可以通過res對(duì)象,通過數(shù)據(jù)+模板的方式,完成服務(wù)器端渲染生成頁(yè)面。

相關(guān)文章

  • NodeJS仿WebApi路由示例

    NodeJS仿WebApi路由示例

    本篇文章主要介紹了NodeJS仿WebApi路由示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • 切換到淘寶最新npm鏡像源的全面指南(支持 Windows、macOS 和多種 Linux 發(fā)行版)

    切換到淘寶最新npm鏡像源的全面指南(支持 Windows、macOS 和多種 Linux

    在開發(fā)過程中,npm 是前端開發(fā)者不可或缺的工具,但對(duì)于國(guó)內(nèi)的開發(fā)者來說,npm 官方源在下載速度上存在一定的瓶頸,本文將詳細(xì)介紹如何在 Windows、macOS 以及各類 Linux 發(fā)行版上切換到淘寶的 npm 鏡像源,需要的朋友可以參考下
    2025-03-03
  • node故障定位頂級(jí)技巧動(dòng)態(tài)追蹤Dynamic?Trace詳解

    node故障定位頂級(jí)技巧動(dòng)態(tài)追蹤Dynamic?Trace詳解

    這篇文章主要為大家介紹了node故障定位頂級(jí)技巧動(dòng)態(tài)追蹤Dynamic?Trace詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Node模塊化開發(fā)實(shí)例解析

    Node模塊化開發(fā)實(shí)例解析

    這篇文章主要為大家介紹了Node模塊化開發(fā)實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • node.js實(shí)現(xiàn)簡(jiǎn)單的壓縮/解壓縮功能示例

    node.js實(shí)現(xiàn)簡(jiǎn)單的壓縮/解壓縮功能示例

    這篇文章主要介紹了node.js實(shí)現(xiàn)簡(jiǎn)單的壓縮/解壓縮功能,結(jié)合實(shí)例形式分析了node.js實(shí)現(xiàn)本地文件與服務(wù)器端壓縮/解壓縮相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • Nodejs獲取網(wǎng)絡(luò)數(shù)據(jù)并生成Excel表格

    Nodejs獲取網(wǎng)絡(luò)數(shù)據(jù)并生成Excel表格

    這篇文章主要為大家詳細(xì)介紹了Nodejs獲取網(wǎng)絡(luò)數(shù)據(jù)并生成Excel表格的具體實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • NodeJS服務(wù)器實(shí)現(xiàn)gzip壓縮的示例代碼

    NodeJS服務(wù)器實(shí)現(xiàn)gzip壓縮的示例代碼

    這篇文章主要介紹了NodeJS服務(wù)器實(shí)現(xiàn)gzip壓縮的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • Node.js使用WebAssembly

    Node.js使用WebAssembly

    本文主要介紹了Node.js使用WebAssembly,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Node.js數(shù)據(jù)流Stream之Duplex流和Transform流用法

    Node.js數(shù)據(jù)流Stream之Duplex流和Transform流用法

    這篇文章介紹了Node.js數(shù)據(jù)流Stream之Duplex流和Transform流的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Express.js 全局錯(cuò)誤處理實(shí)現(xiàn)

    Express.js 全局錯(cuò)誤處理實(shí)現(xiàn)

    本文主要介紹了Express.js 全局錯(cuò)誤處理實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論

武清区| 龙南县| 昌图县| 安仁县| 黑水县| 泸水县| 攀枝花市| 历史| 新乐市| 昌黎县| 奎屯市| 乌兰浩特市| 合川市| 孝感市| 崇义县| 游戏| 富民县| 张家界市| 神农架林区| 旌德县| 奇台县| 鹤峰县| 二连浩特市| 鲜城| 高安市| 新平| 上思县| 朝阳县| 南宁市| 汾阳市| 康定县| 阜城县| 阳新县| 浪卡子县| 衡阳县| 神木县| 东阳市| 五华县| 轮台县| 大悟县| 上林县|