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

使用Express處理請求和托管靜態(tài)資源方式

 更新時間:2022年09月06日 10:06:17   作者:Blizzard前端  
這篇文章主要介紹了使用Express處理請求和托管靜態(tài)資源方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Express

Express時基于Node.js平臺,快速、開放、極簡的Web開發(fā)框架。

通俗的理解:

Express的作用和Node.js內(nèi)置的http模塊類似,是專門用來創(chuàng)建Web服務器的。

Express的本質(zhì):

就是一個npm上的第三方包,提供了快速創(chuàng)建Web服務器的便捷方法

點擊前往 Express–Node.js Web應用程序框架

Express對比Http模塊

http內(nèi)置模塊用起來很復雜,開發(fā)效率低。Express是基于內(nèi)置的http模塊進一部封裝出來的,能夠極大的提高開發(fā)效率。

Express的主要作用

對于前端程序員來說,最常見的兩種服務器,分別是:

1.Web網(wǎng)站服務器:專門對外提供Web網(wǎng)頁資源的服務器

2.API接口服務器:專門對外提供API接口的服務器

使用Express,我們可以方便、快速的創(chuàng)建Web網(wǎng)站的服務器或API接口的服務器

Express安裝

npm i express

創(chuàng)建Web服務器:

// 1. 導入 express
const express = require('express')
// 2. 創(chuàng)建 web 服務器
const app = express()


// 4. 監(jiān)聽客戶端的 GET 和 POST 請求,并向客戶端響應具體的內(nèi)容
// req:請求對象(包含了與請求相關的屬性與方法)
// res:響應對象(包含了與響應有關的屬性和方法)
app.get('/user', (req, res) => {
? // 調(diào)用 express 提供的 res.send() 方法,向客戶端響應一個 JSON 對象
? res.send({ name: 'zs', age: 20, gender: '男' })
})
app.post('/user', (req, res) => {
? // 調(diào)用 express 提供的 res.send() 方法,向客戶端響應一個 文本字符串
? res.send('請求成功')
})
app.get('/', (req, res) => {
? // 通過 req.query 可以獲取到客戶端發(fā)送過來的 查詢參數(shù)
? // 注意:默認情況下,req.query 是一個空對象
? console.log(req.query)
? res.send(req.query)
})
// 注意:這里的 :id 是一個動態(tài)的參數(shù)
app.get('/user/:ids/:username', (req, res) => {
? // req.params 是動態(tài)匹配到的 URL 參數(shù),默認也是一個空對象
? console.log(req.params)
? res.send(req.params)
})

// 3. 啟動 web 服務器
app.listen(80, () => {
? console.log('express server running at http://127.0.0.1')
})

Express靜態(tài)資源處理

express.static()

express提供了一個非常好用的函數(shù),叫做express.static()通過它,我們可以非常方便地創(chuàng)建一個靜態(tài)資源服務器

例如,通過如下代碼就可以將public目錄下的圖片、CSS文件、JavaScript文件對外開放訪問了:

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

可以訪問如下public目錄中的所有文件了(在瀏覽器通過本地ip訪問):

const express = require('express')
const app = express()

// 在這里,調(diào)用 express.static() 方法,快速的對外提供靜態(tài)資源
app.use('/files', express.static('./files'))
app.use(express.static('./clock'))
//當相對路徑報錯的時候,換成絕對路徑即可
//app.use(express.static(path.join(__dirname, './clock')))

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

注意:Express在指定的靜態(tài)目錄下查找文件,并對外提供資源的訪問路徑。因此,存放靜態(tài)文件的目錄名不會出現(xiàn)在URL中

托管多個靜態(tài)資源目錄

如果想要托管多個靜態(tài)資源目錄,請多次調(diào)用express.static()函數(shù)

app.use('/files', express.static('./files'))
app.use(express.static('./clock'))

訪問靜態(tài)資源文件時,express.static()函數(shù)會根據(jù)目錄的添加順序查找所需要的文件

掛載路徑前綴

如果希望在托管的靜態(tài)資源訪問路徑之前,掛載路徑前綴,則可以使用如下的方式

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

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳解nvm管理多版本node踩坑

    詳解nvm管理多版本node踩坑

    這篇文章主要介紹了詳解nvm管理多版本node踩坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Node.js里面的內(nèi)置模塊和自定義模塊的實現(xiàn)

    Node.js里面的內(nèi)置模塊和自定義模塊的實現(xiàn)

    這篇文章主要介紹了Node.js里面的內(nèi)置模塊和自定義模塊的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • Node.js報錯信息Error:?Cannot?find?module?'XXX'問題及解決

    Node.js報錯信息Error:?Cannot?find?module?'XXX'問題及解

    這篇文章主要介紹了Node.js報錯信息Error:?Cannot?find?module?'XXX'問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 優(yōu)化Node.js Web應用運行速度的10個技巧

    優(yōu)化Node.js Web應用運行速度的10個技巧

    這篇文章主要介紹了優(yōu)化Node.js Web應用運行速度的10個技巧,本文講解了從并行、異步、緩存、gzip 壓縮、客戶端渲染等等技巧,需要的朋友可以參考下
    2014-09-09
  • NodeJS學習筆記之Http模塊

    NodeJS學習筆記之Http模塊

    這里只是熟悉nodejs中的http模塊的API,一般在開發(fā)過程中使用的是第三方的框架,比如說Express。其中封裝了更為簡單的構建http服務器的API。
    2015-01-01
  • nodejs報digital?envelope?routines::unsupported錯誤的最新解決方法

    nodejs報digital?envelope?routines::unsupported錯誤的最新解決方法

    這篇文章主要介紹了nodejs報digital?envelope?routines::unsupported錯誤的最新解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • 解決node.js安裝包失敗的幾種方法

    解決node.js安裝包失敗的幾種方法

    nodejs安裝包失敗的原因可能有很多,下面這篇文章給大家整理三種方法來解決,大家可以試一試或許可以解決你的問題,下面來一起看一看。
    2016-09-09
  • Node.js中的流(Stream)的作用詳解

    Node.js中的流(Stream)的作用詳解

    在 Node.js 中,stream模塊提供了用于實現(xiàn)流接口的 API,但是很多內(nèi)置模塊都提供了關于流的 API,所以通常不需要顯式的調(diào)用 stream 模塊來使用流,本文給大家介紹一下Node.js中的流(Stream)有什么作用,需要的朋友可以參考下
    2023-08-08
  • Node.js中的HTTP?Server對象與GET、POST請求

    Node.js中的HTTP?Server對象與GET、POST請求

    這篇文章介紹了Node.js中的HTTP?Server對象與GET、POST請求,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Express作者TJ告別Node.js奔向Go

    Express作者TJ告別Node.js奔向Go

    TJ自我介紹: TJ Holowaychuk ,程序員兼藝術家,Koa、Co、Express、jade、mocha、node-canvas、commander.js等知名開源項目的創(chuàng)建和貢獻者。
    2014-07-07

最新評論

榆林市| 金塔县| 邹城市| 志丹县| 乐山市| 集贤县| 溧阳市| 阿鲁科尔沁旗| 塘沽区| 达州市| 灵川县| 合水县| 崇左市| 北京市| 沭阳县| 轮台县| 花莲县| 连云港市| 阿拉尔市| 当阳市| 淄博市| 锡林郭勒盟| 崇阳县| 鲁甸县| 沙湾县| 通海县| 同仁县| 鲁甸县| 义马市| 南澳县| 阜平县| 连平县| 佛冈县| 思南县| 英超| 邵阳市| 湟中县| 建湖县| 同仁县| 福清市| 聊城市|