[英]Working with Node.JS
昨晚我轉儲了Windows 7,並格式化了硬盤驅動器以移植到基於Linux的操作系統,這純粹是出於我想開始使用Node.JS的原因。
所以我已經安裝了Node.JS並做了一些測試,包括http服務器和套接字等。
我想做的是構建一個與MVC框架緊密集成的HTTP Server,但是在開始所有這些之前,我需要學習如何在Node中高效構建。
例如,在PHP作為框架的情況下,我將創建一個引導加載系統以加載所有基類等,然后觸發事件系統以准備開始附加回調。
我將繼續處理請求等,直到生成輸出,然后將其發送到將處理標頭等的輸出處理程序
但是Node為此提供了一個全新的環境,我想知道在Node中構建系統的最佳實踐。
我正在尋找的信息更多地與設計結構有關,而不是與應用程序的實際編碼,如何在庫中加載庫,在何處加載庫等有關。
任何幫助表示贊賞。
到目前為止,我的WebApplication運行得很好,我已經很傳統地構建了我的應用程序,並添加了一些程序。
我已經開始創建一個目錄結構,如下所示:
<root>
startup.js
/public/
favicon.ico
/images/
/stylesheets/
/javascripts/
/system/
init.js
config.js
/libs/
/exceptions/
http.js
server.js
/application/
/views/
/_override/
/errors/
generic.view
/partials/
sidebar.voew
index.view
/controllers/
index.js
/models/
users.js
這個目錄結構就像大多數基於MVC的Web應用程序一樣,因此使用此方法感到很舒服。
啟動文件是節點作為入口點執行的, node startup &
,看起來像這樣:
/*
* Header of t he file, Copyright etc
*/
var _Intitialize = require("./system/init.js");
//Displays the command line header, title, copyright etc
_Intitialize.DisplayCommandLineHeader();
//Check the enviroment, Permissions, Ports etc
_Intitialize.CheckEnviroment();
//Start the server and listen the port.
_Initialize.StartServer();
初始化文件是主要工作,它告訴系統所有其他區域運行,停止等。
我在libs中有一個名為serverhandler.js,
的文件serverhandler.js,
這是init.js所必需的,然后我創建一個服務器並將回調分配給ServerHandler.Listener
。 然后誰監聽請求,檢查文件是否在公共目錄中,如果存在,則讀取大塊並發回。
如果在公共場所未找到文件,則將使用Route.Create(“ / path?params”)創建一條路由; 會從uri中阻止3個元素(控制器,方法,參數),然后如果存在則加載控制器文件。
我采用了拋出錯誤頁面的方法,如下所示:
if(!FileSystem.exists(RequiredPath))
{
throw new HTTPExceptions.FileNotFound();
}
希望這有助於某些人開始使用Node。
看看http://dailyjs.com/2010/11/01/node-tutorial/ ,這很相關。
我建議也查看當前的模塊https://github.com/joyent/node/wiki/modules並閱讀您感興趣的領域中的任何項目的代碼,尤其是。 中間件,路由和模塊加載器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.