在 request Express.js 處理程式中更改應用程式設定是一種好習慣嗎?
app.set('title', 'My Site')
var express = require('express')
var app = express()
app.set('title', 'My Site')
app.get('/somehow', function (req, res) {
req.app.set('title', 'New title')
res.send('hello world')
})
app.listen(3000)
uj5u.com熱心網友回復:
在 request Express.js 處理程式中更改應用程式設定是一種好習慣嗎?
如果您打算做的是更改可能影響所有未來客戶端的所有未來請求的全域服務器設定,它可以很好地使用。通常,這將在某種管理身份驗證(不是由任何隨機客戶端)下完成,或者只是您正在累積的某種型別的服務器指標。
這不會是影響一個特定回應的適當方式(因為它的影響是持久的并且會影響所有未來的請求)。為此,您應該手動或使用 HTML 模板在本地修改該回應。要將資料傳遞給模板,您可以直接傳遞或設定它,res.locals模板可以使用該資料呈現頁面。
如果這是用于業務邏輯,那么您通常不想讓業務邏輯依賴于 Express 框架,因為真的沒有理由讓一個依賴于另一個。相反,您可以為您的業務邏輯實作一個獨立的模塊,該模塊跟蹤自己的狀態并匯出用于獲取/設定/實作業務邏輯的介面。然后它可以將狀態存盤為模塊級變數或資料庫或任何最合適的。
使這個業務邏輯成為一個獨立的模塊,也使它無需 Express 即可獨立測驗,可在其他應用程式中使用,更易于除錯等......
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/367835.html
標籤:javascript 节点.js 表达
