簡體   English   中英

更大的項目Node.js和RESTful API

[英]Bigger projects Node.js and RESTful API

我正在研究node.js,它看起來真的很不錯。 我曾經使用過很多不同的技術和服務器,主要是php和Java(jsp),但涉及到som RoR和Python。

我發現node.js非常容易啟動和運行,使用起來感覺非常自然,我找到了一些很好的入門級教程。

我只是缺少一些中間資源。 例如,在創建更大的框架或api時,您將如何構建或構建它。 我設置了一些較小的api來試試它會出現這樣的情況:

我已經利用Express框架來創建一個http服務器,監聽一個端口,設置一個express對象並綁定一些請求。

然而,如果我考慮擴大用於生產的API的大小,或者想要做其他的東西,如服務網頁,這些已經非常小,目的一直在學習。 我發現很難看出架構的外觀。

這是模糊的,因為我還是node.js的新手,但我主要考慮的事情是,如果你通常將所有api保存在一個文件中,或者是否有很好的方法將它分成模塊? 如果有人知道任何資源在node.js中工作時更多地討論如何設計架構

對於模糊的問題感到抱歉,感謝您的閱讀。

在我看來,如果你想構建復雜的或大的API,Express是很好的方法。

它可以輕松測試(例如使用Mocha或Jasmine)並可自定義,特別是由於它的中間件

對於目錄結構,我通常使用的是(至少)以下內容:

  • app.js :主要入口點。 將創建快速應用程序,指示每個路由前綴使用哪個控制器,並分配中間件。 上一個項目的示例
  • 控制器 :將包含控制器,處理請求的函數,與標准MVC框架(例如UserController,...)相同的樣式。 每個控制器都會創建一個快速的Router對象並將其導出。 在控制器內部,各個處理程序負責各個API請求,例如/ api / users / list 它將使用一些庫來訪問您的數據(例如Mongoose for MongoDB),然后將響應發送到客戶端。 示例(UserController.js)
  • models :將包含具有所有屬性和方法的模型。 就我而言,它將是Mongoose模型。 示例(Song.js)
  • 中間件 :將包含項目的各種中間件。 一個實際的例子是中間件檢查傳入請求中的訪問令牌,如果沒有則返回403 HTTP錯誤。 示例(AuthMiddleware.js)
  • 助手 :各種助手
  • 測試 :你的單元測試API

這可能是最小的目錄組織。 最重要的是,您可能希望使用模板引擎(如EJS)來提供網頁。 看看«使用EJS模擬節點應用程序»

這只是為了讓您了解快速目錄結構的外觀,但當然有很多(更好的?)其他可能性。 希望能為您提供快速有用的見解:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM