摘要:常見問題我該如何構(gòu)建我的應(yīng)用程序這個(gè)問題沒有明確的答案,答案取決于你的應(yīng)用程序規(guī)模和所涉及的團(tuán)隊(duì),為了盡可能靈活,在結(jié)構(gòu)方面沒有做出任何假設(shè)。請(qǐng)參閱,了解以模型為中心的基于的框架。
常見問題 我該如何構(gòu)建我的應(yīng)用程序?
這個(gè)問題沒有明確的答案,答案取決于你的應(yīng)用程序規(guī)模和所涉及的團(tuán)隊(duì),為了盡可能靈活,Express在結(jié)構(gòu)方面沒有做出任何假設(shè)。
在你喜歡的任何目錄結(jié)構(gòu)中,路由和其他特定于應(yīng)用程序的邏輯可以存在于你希望的任意數(shù)量的文件中,查看以下示例以獲取靈感:
路由列表
路由圖
MVC風(fēng)格控制器
此外,還有Express的第三方擴(kuò)展,簡化了其中一些模式:
資源豐富的路由
如何定義模型?Express沒有數(shù)據(jù)庫的概念,此概念由第三方Node模塊決定,允許你與幾乎任何數(shù)據(jù)庫進(jìn)行交互。
請(qǐng)參閱LoopBack,了解以模型為中心的基于Express的框架。
如何驗(yàn)證用戶身份?身份驗(yàn)證是Express不會(huì)冒險(xiǎn)的另一個(gè)有爭議的領(lǐng)域,你可以使用任何你想要的身份驗(yàn)證方案,有關(guān)簡單的用戶名/密碼方案,請(qǐng)參閱此示例。
Express支持哪些模板引擎?Express支持符合(path、locals,callback)簽名的任何模板引擎,要規(guī)范化模板引擎接口和緩存,請(qǐng)參閱consolidate.js項(xiàng)目以獲取支持,未列出的模板引擎可能仍然支持Express簽名。
有關(guān)更多信息,請(qǐng)參閱使用Express的模板引擎。
如何處理404響應(yīng)?在Express中,404響應(yīng)不是錯(cuò)誤的結(jié)果,因此錯(cuò)誤處理程序中間件不會(huì)捕獲它們,這種行為是因?yàn)?04響應(yīng)只是表明沒有額外的工作要做,換句話說,Express已經(jīng)執(zhí)行了所有中間件函數(shù)和路由,并發(fā)現(xiàn)它們都沒有響應(yīng),你需要做的就是在堆棧的最底部添加一個(gè)中間件函數(shù)(在所有其他函數(shù)之下)來處理404響應(yīng):
app.use(function (req, res, next) { res.status(404).send("Sorry can"t find that!") })
在express.Router()實(shí)例上的運(yùn)行時(shí)動(dòng)態(tài)添加路由,這樣路由不會(huì)被中間件函數(shù)取代。
如何設(shè)置錯(cuò)誤處理程序?你可以使用與其他中間件相同的方式定義錯(cuò)誤處理中間件,除了使用四個(gè)參數(shù)而不是三個(gè)參數(shù),具體的簽名(err, req, res, next):
app.use(function (err, req, res, next) { console.error(err.stack) res.status(500).send("Something broke!") })
有關(guān)更多信息,請(qǐng)參閱錯(cuò)誤處理。
如何呈現(xiàn)純HTML?沒有必要使用res.render()函數(shù)“渲染”HTML,如果你有特定文件,請(qǐng)使用res.sendFile()函數(shù),如果要從目錄提供許多資源,請(qǐng)使用express.static()中間件函數(shù)。
上一篇:靜態(tài)文件 下一篇:路由文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/100436.html
摘要:要使用多個(gè)靜態(tài)資源目錄,請(qǐng)多次調(diào)用中間件函數(shù)按照使用中間件函數(shù)設(shè)置靜態(tài)目錄的順序查找文件。注意為獲得最佳結(jié)果,請(qǐng)使用反向代理緩存來提高服務(wù)靜態(tài)資源的性能。 靜態(tài)文件 要提供靜態(tài)文件(如images、CSS文件和JavaScript文件),請(qǐng)使用Express中的express.static內(nèi)置中間件功能,函數(shù)簽名是: express.static(root, [options]) ro...
摘要:文檔基于的快速開放極簡主義的框架,是一個(gè)最小且靈活的應(yīng)用程序框架,為和移動(dòng)應(yīng)用程序提供了一組強(qiáng)大的功能。借助無數(shù)的實(shí)用程序方法和中間件,你可以快速輕松地創(chuàng)建強(qiáng)大的。提供了一層輕薄的基本應(yīng)用程序功能,而不會(huì)隱藏你熟悉和喜愛的功能。 Express 文檔 基于Node.js的快速、開放、極簡主義的Web框架,Express是一個(gè)最小且靈活的Node.js Web應(yīng)用程序框架,為Web和移動(dòng)...
摘要:這些路由方法指定當(dāng)應(yīng)用程序收到對(duì)指定路由端點(diǎn)和方法的請(qǐng)求時(shí)調(diào)用的回調(diào)函數(shù)有時(shí)稱為處理函數(shù),換句話說,應(yīng)用程序監(jiān)聽與指定路由和方法匹配的請(qǐng)求,并且當(dāng)它檢測到匹配時(shí),它調(diào)用指定的回調(diào)函數(shù)。 路由 路由是指應(yīng)用程序的端點(diǎn)(URI)如何響應(yīng)客戶端請(qǐng)求,有關(guān)路由的介紹,請(qǐng)參閱路由基礎(chǔ)。 使用與HTTP方法相對(duì)應(yīng)的Express app對(duì)象的方法定義路由,例如,app.get()用于處理GET請(qǐng)求...
摘要:簡介是中的一個(gè)處理的中間件可以說是中最常見的中間件之一了由于會(huì)話管理依賴的使用所以它的中有很多用于控制的部分總的來說有如下的特點(diǎn)管理基本功能簽名可替換持久儲(chǔ)存模塊本文中使用的版本為安裝引入使用使用簽名這個(gè)屬性是必須的具體配置和 簡介 express-session是express中的一個(gè)處理session的中間件,可以說是express中最常見的中間件之一了. 由于會(huì)話管理依賴cook...
摘要:常見問題此系列文章的應(yīng)用示例已發(fā)布于可以幫助改進(jìn)或關(guān)注更新歡迎替代它更像是,但是很多的好東西被轉(zhuǎn)移到的中間件級(jí)別,以幫助形成更強(qiáng)大的基礎(chǔ)。這使得中間件對(duì)于整個(gè)堆棧而言不僅僅是最終應(yīng)用程序代碼,而且更易于書寫,并更不容易出錯(cuò)。 常見問題 此系列文章的應(yīng)用示例已發(fā)布于 GitHub: koa-docs-Zh-CN. 可以 Fork 幫助改進(jìn)或 Star 關(guān)注更新. 歡迎 Star. Koa...
閱讀 1859·2021-09-22 15:29
閱讀 3350·2019-08-30 15:44
閱讀 3557·2019-08-30 15:43
閱讀 1763·2019-08-30 13:48
閱讀 1488·2019-08-29 13:56
閱讀 2473·2019-08-29 12:12
閱讀 964·2019-08-26 11:35
閱讀 1051·2019-08-26 10:25