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

Nodejs中Express框架的基本使用舉例

 更新時間:2025年09月26日 09:17:34   作者:羽沢31  
Express是基于Node.js平臺的極簡、靈活的Web應用開發(fā)框架,它為 Node.js提供了一套強大的功能,用于創(chuàng)建Web應用程序和 HTTP 服務器,下面我們將介紹Nodejs中Express框架的基本使用,感興趣的朋友一起看看吧

      作為 Node.js 生態(tài)中的主流框架,Express 以其輕量高效的特點廣受開發(fā)者青睞。學習該框架能有效提高編寫效率,簡化代碼結(jié)構(gòu),便于維護等。下面將簡單介紹express框架的使用。

一、Express 框架簡介?

        Express 是基于 Node.js 平臺的極簡、靈活的 Web 應用開發(fā)框架,它為 Node.js 提供了一套強大的功能,用于創(chuàng)建 Web 應用程序和 HTTP 服務器。Express 框架的設計理念是盡可能地保持輕量級,同時又具備高度的可擴展性。它不強制特定的代碼結(jié)構(gòu)或開發(fā)模式,開發(fā)者可以根據(jù)項目需求自由選擇合適的工具和方法,這使得 Express 在開發(fā)過程中擁有極高的靈活性。

二、安裝 Express ?

        在開始使用 Express 之前,首先需要確保已經(jīng)安裝了 Node.js。Node.js 自帶了包管理工具 npm(Node Package Manager),通過 npm 可以方便地安裝 Express 及其相關(guān)依賴。?

1、初始化項目:在項目目錄下,執(zhí)行npm init -y命令,快速初始化一個package.json文件,該文件用于管理項目的依賴和配置信息。?

npm init -y?

2、安裝 Express:執(zhí)行以下命令安裝 Express:?

npm install express?
cnpm install express   //這個也可以

3、安裝完成后,在項目目錄下會生成一個node_modules文件夾,里面存放著 Express 及其依賴的包,同時在package.json文件的dependencies字段中會添加express的相關(guān)信息。?

        如下圖所示:

三、創(chuàng)建第一個 Express 應用?

        安裝好 Express 后,就可以開始創(chuàng)建一個簡單的 Express 應用了。在項目目錄下,創(chuàng)建一個名為app.js(也可以使用其他文件名,我現(xiàn)在習慣用這個了)的文件,編寫以下代碼:?

const express = require('express')       //加載express模塊
let app = express();                     //創(chuàng)建服務器,相當于 let server = http.createServer();
app.get('/',function(req,res){           //設置請求,當請求路徑為/(?之前的)時發(fā)送響應(用send發(fā)送,類型會自動設置的)
    res.send('hello express!!');
})
app.use('/public/',express.static('./public'));         //設置靜態(tài)資源獲取,當請求路徑以/public/開頭時,就會獲取開放的public目錄中的所有需要的靜態(tài)資源,會自動設置發(fā)送響應
app.get('/apple',function(req,res){        
    console.log(req.query);     //可以用req.query來獲取請求路徑?之后的參數(shù)對象,注意只能拿到get請求的參數(shù)
    res.send('apple');
})
app.listen(3000,function(){              //啟動服務器
    console.log('running~~');
})

在上述代碼中:?

  1. 首先通過require('express')引入 Express 模塊,并創(chuàng)建一個 Express 應用實例app。?
  2. 然后指定服務器監(jiān)聽的端口號為3000。?
  3. 使用app.get()方法定義了一個路由,該路由處理針對根路徑(/)的GET請求。當客戶端發(fā)送GET請求到根路徑時,服務器會返回Hello, Express!。?
  4. 最后調(diào)用app.listen()方法啟動服務器,開始監(jiān)聽指定的端口,并在控制臺輸出服務器運行的地址。?

在命令行中,進入項目目錄,執(zhí)行node app.js命令啟動服務器,然后在瀏覽器中訪問http://localhost:3000 或 127.0.0.1:3000,即可看到頁面上顯示Hello, Express!。?

四、路由基礎?

        路由是 Express 應用的核心概念之一,它負責定義應用如何響應客戶端發(fā)送的不同請求。路由由請求的 HTTP 方法(如GET、POST、PUT、DELETE等)、請求的 URL 路徑以及處理請求的回調(diào)函數(shù)組成。?

(一)常見的路由方法?

        1、app.get():用于處理GET請求,通常用于獲取資源。例如:?

app.get('/users', (req, res) => {?
// 假設這里從數(shù)據(jù)庫獲取用戶列表?
const users = [?
{ id: 1, name: "Alice" },?
{ id: 2, name: "Bob" }?
];?
res.json(users);?
});?

        上述代碼定義了一個處理/users路徑的GET請求的路由,當客戶端請求該路徑時,服務器會返回一個包含用戶列表的 JSON 數(shù)據(jù)。?

        2、app.post():用于處理POST請求,常用于提交數(shù)據(jù),如創(chuàng)建新資源。例如:?

app.post('/users', (req, res) => {?
// 假設這里接收客戶端提交的用戶數(shù)據(jù)并保存到數(shù)據(jù)庫?
const newUser = req.body;?
// 模擬保存用戶數(shù)據(jù)的操作?
console.log('Received new user:', newUser);?
res.status(201).send('User created successfully');?
});?

在這個例子中,當客戶端通過POST方法向/users路徑發(fā)送數(shù)據(jù)時,服務器會接收數(shù)據(jù),并在控制臺打印接收到的新用戶信息,然后返回一個表示創(chuàng)建成功的響應。?

        3、app.put():用于處理PUT請求,一般用于更新資源。?

        4、app.delete():用于處理DELETE請求,用于刪除資源。?

(二)路由參數(shù)?

        除了固定的路徑,Express 還支持在路由中使用參數(shù),以便動態(tài)地處理不同的請求。例如:?

app.get('/users/:id', (req, res) => {?
const userId = req.params.id;?
// 假設這里根據(jù)userId從數(shù)據(jù)庫獲取單個用戶?
const user = { id: userId, name: "John" };?
res.json(user);?
});?

        在上述代碼中,/:id是一個路由參數(shù),id是參數(shù)的名稱。當客戶端請求類似/users/1這樣的路徑時,1會被賦值給req.params.id,服務器可以根據(jù)這個參數(shù)值進行相應的處理。

(三)post請求體的獲取

如果請求時get請求,則可以通過req.query來獲取參數(shù)所組成的對象,進而處理請求,但post的請求體express沒有提供直接獲取請求體的方式,下面使用body-parser第三方包來獲取post請求體。

        1、安裝body-parser

npm install body-parser        //在控制臺輸入

        2、配置body-parser

app.use(bodyParser.urlencoded({extended:false}))        //配置在express里面使用body-parser
app.use(bodyParser.json())

        配置好后可以使用req.body來獲取post請求的請求頭

        3、簡單樣例

const bodyParser = require('body-parser')           //這里需要引包
const express = require('express')
let app = express();
//配置
app.engine('html',require('express-art-template'))      //配置在express里面使用art-template
app.use(bodyParser.urlencoded({extended:false}))        //配置在express里面使用body-parser
app.use(bodyParser.json())
//當以post類型發(fā)送/post的請求時使用
app.post('/post',function(req,res){
    res.send(req.body)                  //req的body參數(shù)里面記錄了post請求的請求體
})
//當以get類型發(fā)送/post的請求時使用
app.get('/post',function(req,res){
    res.render('demo02.html',{
        name:'張*3===張三===三張',
        content:'hello world'
    })
})
app.listen(3000,function(){
    console.log("running...")
})

五、在express里面使用art-template模板引擎

(一)安裝和配置

//在express中使用art-template
//安裝  npm install --save art-template express-art-template 
//配置  app.engine('html',require('express-art-template'))

(二)使用art-template

        express-art-template第三方包為nodejs提供了一個render方法,通過response調(diào)用,第一個參數(shù)為views目錄下的視圖(如果使用art-template,要把html模板放到views目錄下),第二個參數(shù)為要傳入的數(shù)據(jù)對象。

        示例:

const express = require('express')
let app = express();
          //art
app.engine('html',require('express-art-template'))       //配置,使在express里面可以使用art-template,第一個參數(shù)表示當以該參數(shù)值為拓展名時會使用art-template模板引擎
app.get('/',function(req,res){          //express為response提供了一個render方法,當使用模板引擎時可以使用,第一個參數(shù)為views目錄里面的模板文件,第二個參數(shù)為要傳遞的對象
    res.render('demo01.html',{
        name:'張三',
        age:18
    })
})
app.listen(3000,function(){
    console.log('running...')
})

代碼文件結(jié)構(gòu):

六、設置靜態(tài)資源

        主要代碼如下:

app.use('/public/',express.static('./public')); 

意思是當請求路徑以/public/時會默認到./public目錄里面去尋找需要的資源,找到資源后會自動發(fā)送對應的響應,‘/public/’是可以進行更換的,并不是固定值,可以根據(jù)實際需求進行更換。

        示例:

const express = require('express');
let app = express();
//app.use('/public/',express.static('./public'));             //設置靜態(tài)資源獲取,當請求路徑以/public/開頭時,就會獲取開放的public目錄中的所有需要的靜態(tài)資源(./public/....),會自動設置發(fā)送響應
app.use('/a/',express.static('./public'))                   //設置靜態(tài)資源,當請求路徑以/a/開頭時,就會獲取開放的public目錄中的所有需要的靜態(tài)資源(./public/....)...為/a/后面的路徑,會自動設置發(fā)送響應
//app.use(express.static('./public'));                  //設置靜態(tài)資源,和上面的區(qū)別就是發(fā)送的請求路徑里面不能再帶有/public了
app.get('/',function(req,res){
    res.send('hello');
})
app.listen(3001,function(){
    console.log('running...')
})

七、總結(jié)

到此這篇關(guān)于nodejs中Express框架的基本使用的文章就介紹到這了,更多相關(guān)nodejs express使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nest.js 授權(quán)驗證的方法示例

    Nest.js 授權(quán)驗證的方法示例

    這篇文章主要介紹了Nest.js 授權(quán)驗證的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 10個最優(yōu)秀的Node.js MVC框架

    10個最優(yōu)秀的Node.js MVC框架

    這篇文章主要為大家詳細介紹了10個最優(yōu)秀的Node.js MVC框架,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • node.js操作mongodb簡單示例分享

    node.js操作mongodb簡單示例分享

    MongoDB是基于Javascript語言的數(shù)據(jù)庫,存儲格式是JSON,而Node也是基于JavaScript的環(huán)境(庫),所以node和mongoDB的搭配能減少因為數(shù)據(jù)轉(zhuǎn)換帶來的時間空間開銷。今天我們來看看如何通過node.js來操作MongoliaDB
    2017-05-05
  • array-uniq的安裝和使用方法

    array-uniq的安裝和使用方法

    array-uniq是一個非常實用的NPM包,用于在JavaScript中創(chuàng)建不含重復元素的數(shù)組,它提供了一個簡單而有效的方法來去除數(shù)組中的重復項,本文將介紹如何安裝和使用array-uniq來清理你的數(shù)組數(shù)據(jù),需要的朋友可以參考下
    2024-06-06
  • nodejs實現(xiàn)黑名單中間件設計

    nodejs實現(xiàn)黑名單中間件設計

    最近寫的項目中涉及到防止灌水的功能,于是設計了黑名單中間件,跟大家分享一下,同時也希望大家有好的建議能夠拍磚.
    2014-06-06
  • 使用socket.io實現(xiàn)簡單聊天室案例

    使用socket.io實現(xiàn)簡單聊天室案例

    這篇文章主要介紹了使用socket.io實現(xiàn)簡單聊天室案例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 教你如何在Node.js中使用jQuery

    教你如何在Node.js中使用jQuery

    本文給大家分享的是如何在Node.js中使用jQuery的方法,包含步驟以及出錯的處理,非常的詳細,有需要的小伙伴可以參考下
    2016-08-08
  • Koa2框架快速入門與基本使用方式

    Koa2框架快速入門與基本使用方式

    這篇文章主要介紹了Koa2框架快速入門與基本使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Node server生成Swagger接口文檔步驟詳解

    Node server生成Swagger接口文檔步驟詳解

    本文介紹使用NodeJs搭建的后端server快速生成Swagger接口文檔的技巧,本文有詳細的步驟講解,通過代碼示例給大家介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2024-01-01
  • koa socket即時通訊的示例代碼

    koa socket即時通訊的示例代碼

    這篇文章主要介紹了koa socket即時通訊的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論

宁武县| 长寿区| 洛隆县| 衢州市| 砀山县| 镇远县| 东兰县| 育儿| 虹口区| 怀仁县| 南涧| 越西县| 台山市| 大田县| 香河县| 富阳市| 博湖县| 乐昌市| 商水县| 浠水县| 彰化县| 吉木乃县| 余庆县| 大方县| 奉节县| 朔州市| 武鸣县| 云和县| 鄯善县| 天峨县| 安国市| 聊城市| 巩义市| 离岛区| 噶尔县| 土默特右旗| 从化市| 甘泉县| 大名县| 抚远县| 共和县|