中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node中的Express和路由模塊怎么使用

發布時間:2023-01-31 10:17:49 來源:億速云 閱讀:131 作者:iii 欄目:web開發

今天小編給大家分享一下Node中的Express和路由模塊怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

Express

Express是基于Node.js平臺,快速、開放、極簡的Web開發框架。Express的作用和Node.js內置的http模塊類似,是專門用來創建Web服務器Express的本質:就是一個 npm 上的第三方包,提供了快速創建 Web 服務器的便捷方法。其中文網為:Express中文網 。當然不使用Express使用內置的http模塊也能創建Web服務器,但http模塊用起來及其復雜,開發效率極低,Express是基于內置的http模塊進一步封裝出來的,能極大的提高開發效率。

對于前端程序員來說,最常見的兩種服務器分別是:Web網站服務器(專門對外提供Web網頁資源的服務器);API接口服務器(專門對外提供的API接口服務器)。使用Express,可以方便快捷的創建Web網站服務器和API接口服務器。

Express的安裝與使用

在項目所處目錄中,終端運行如下命令,即可將express安裝到項目中:(默認最新版本)

npm install express

創建基本的服務器:與內置http模塊常見的服務器比較 http內置模塊書寫

// 導入 express 模塊
const express = require('express')
// 創建 web 服務器
const app = express()

// 調用 app.listen(端口號,啟動成功后的回調函數),啟動服務器
app.listen(8081,()=>{
  console.log('express server running at http://127.0.0.1:8081');
})

監聽GET請求:通過 app.get() 方法,可以監聽客戶端的 GET 請求,具體的語法格式如下:

// 參數1:客戶端請求的URL地址
// 參數2:請求對應的處理函數
// req:請求對象(包含請求相關屬性和方法);res:響應對象(包含響應相關的屬性和方法)
app.get('請求的URL',function(req,res){/*處理函數*/})

監聽POST請求:通過app.post()方法,可以監聽客戶端的POST請求,具體的語法格式如下:

// 參數1:客戶端請求的URL地址
// 參數2:請求對應的處理函數. req:請求對象(包含請求相關屬性和方法);res:響應對象(包含響應相關的屬性和方法)
app.post('請求的URL',function(req,res){/*處理函數*/})

創建以get和post請求的Web服務器,創建成功,用Apifox接口測試工具進行測試:

// 導入 express 模塊
const express = require('express')

// 創建 Web 服務器
const app = express()

// get請求
app.get('/user',(req,res)=>{
  // 向客戶端響應一個 json 對象
  res.send({name:'張三',age:18})
})

// post請求
app.post('/home',(req,res)=>{
  // 向客戶端響應一個 文本字符串
  res.send('請求成功!')
}) 

app.listen(80,()=>{
  console.log('express server running at http://127.0.0.1:80');
})

Node中的Express和路由模塊怎么使用

Node中的Express和路由模塊怎么使用

獲取URL的查詢參數:通過req.query對象,可以訪問到客戶端通過查詢字符串的形式,發送給服務器的參數:

app.get('/',(req,res)=>{
  // 通過 req.query 可以獲取到客戶端發送過來的查詢參數,默認情況下,req.query 是一個空對象
  console.log(req.query);
  res.send(req.query)
})

Node中的Express和路由模塊怎么使用

Node中的Express和路由模塊怎么使用

獲取URL中的動態參數:通過 req.params 對象,可以訪問到 URL 中,通過 : 匹配到的動態參數:

// 這里的id是一個動態參數
app.get('/user/:id',(req,res)=>{
  // req.params 是動態匹配到的 URL 參數,默認也是一個空對象
  console.log(req.params);
  res.send(req.params)
})

Node中的Express和路由模塊怎么使用

托管靜態資源

express提供了一個非常好用的函數,叫做 express.static(),通過它我們可以很方便地創建一個靜態資源服務器,例如:通過以下代碼就可以將 test 目錄下的圖片、CSS文件、JS文件對外開發使用了,我們可以通過 http://127.0.0.1/index.htm 進行訪問。

如果想托管多個靜態資源目錄,多次調用 express.static() 函數即可。

app.use(express.static('test'))

Node中的Express和路由模塊怎么使用

注意:Express在指定的靜態目錄中查找文件,并對外提供資源的訪問路徑,因此靜態資源的目錄名不會出現在URL中。 如果希望在托管靜態資源訪問路徑之前,掛載路徑前綴,則可以使用如下方式:

// 在 express.static() 方法前面添加想要的路徑前綴
app.use('text',express.static('test'))

nodemon

在編寫調試Node.js項目時,如果修改了項目代碼,則需要手動頻繁的close掉,然后重新啟動非常的繁瑣。我們可以使用 nodemon 這個工具,它能夠監聽項目文件的變動,當代碼修改后,nodemon會自動幫助我們重啟項目,極大地方便了開發與測試。

在終端運行如下命令,即可將 nodemon 安裝為全局可用的工具:

npm install nodemon -g

Node中的Express和路由模塊怎么使用

安裝完成之后,將之前的命令 node+文件名稱 換成 nodemon+文件名稱 即可自動重啟項目進行監聽,如下:

Node中的Express和路由模塊怎么使用

Express路由

在Express中,路由指的是客戶端的請求與服務器之間的映射關系。Express中的路由分三部分組成:請求的類型、請求的URL地址、處理函數。

每當一個請求到達服務器之后,需要先經過路由的匹配,只有匹配成功之后,才會調用對應的處理函數。在匹配時,會按照路由的順序進行匹配,如果請求類型和請求的URL同時匹配成功,則Express會將這次請求轉交到對應的function函數進行處理。

Node中的Express和路由模塊怎么使用

// 導入 express 模塊
const express = require('express')
// 創建 Web 服務器
const app = express()
// 掛載路由
app.get('/',(req,res)=>{ res.send('hello world'); })
app.post('/',(req,res)=>{ res.send('hello ok'); })

// 監聽服務
app.listen(80,()=>{
  console.log('express server running at http://127.0.0.1');
})

模塊化路由

為了方便對路由進行模塊化管理,Express不建議將路由直接掛載到app上,而是推薦將路由抽離為單獨的模塊。

創建路由模塊:

// 導入 express 模塊
const express = require('express')
// 創建 Web 服務器
const app = express()
// 掛載路由
app.get('/',(req,res)=>{ res.send('hello world'); })
app.post('/',(req,res)=>{ res.send('hello ok'); })

// 監聽服務
app.listen(80,()=>{
  console.log('express server running at http://127.0.0.1');
})

注冊路由模塊:

// 導入 express 模塊
const express = require('express')
// 創建 服務器
const app = express()

// 導入路由模塊
const router = require('./router')
// 注冊路由模塊
app.use(router)

// 監聽服務
app.listen(80,()=>{
  console.log('express server running at http://127.0.0.1');
})

Node中的Express和路由模塊怎么使用

如果想為路由模塊添加前綴,方式也很簡單,如下:(即可全局模塊路徑前有該前綴)

Node中的Express和路由模塊怎么使用

Node中的Express和路由模塊怎么使用

以上就是“Node中的Express和路由模塊怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三台县| 东源县| 万州区| 芮城县| 苏州市| 辽宁省| 基隆市| 阳西县| 曲沃县| 天峨县| 锡林郭勒盟| 乐至县| 莒南县| 洛浦县| 广饶县| 沙洋县| 中宁县| 通河县| 红安县| 吴川市| 横山县| 宁蒗| 花莲县| 新昌县| 普安县| 凤庆县| 兰坪| 河北省| 通州市| 黔西| 定日县| 蓝田县| 自治县| 梅州市| 铁岭县| 温泉县| 镇雄县| 宁阳县| 西吉县| 禹州市| 鹤岗市|