如何用Node去寫乙個Web應用框架

2021-09-23 07:19:01 字數 3068 閱讀 5725

第一步,用node輸出乙個hello world

大部分的node教程在這裡會告訴你,我們很容易的建立的乙個伺服器。但是在實際使我們通常使用的是express.(f**k,難道node必須要用express嗎?自己實現乙個web應用框架真的很難嗎?)其實並不是。

那麼既然打算自己寫我們首先要知道我們要做哪些事情。 1.路由或者智慧型路由 2.靜態檔案輸出 3.session/cookie 4.模版渲染 5.資料庫處理 6.檔案上傳

第二步,路由

路由好高大上的名字,它是幹啥的?url對應具體方法就是它該做的事情。 那麼我們為什麼不讓url對應***檔案的xx方法。 例如:/user/login能不能自動對應到user.js的login方法上。實現起來很難麼?其實只需要幾句**

var fs = require("fs"); 

module.exports=function(req,res)else

if(arr.length==2) 

if(arr[1]=="") 

if(arr[2]=="") 

//end 這段**處理預設行為。可以先忽略

var controller=require('./controller/'+arr[1]); 

if(controller[arr[2]])else); 

res.end("你訪問的控制器不存在指定方法"); 

} }else); 

res.end("你訪問的路徑不存在"); 

} } 

第三步,靜態檔案輸出

靜態檔案輸出我們需要乙個庫mime

var url = require("url"); 

var fs = require("fs"); 

var mime = require('mime'); 

/*** [[檢測是否為靜態資源]]

* @param      req [[description]]

* @param    res [[description]]

* @returns  [[description]]

*/module.exports = function (req, res)  

var urlpares = url.parse(req.url); 

var pathname = urlpares.pathname; 

if (fs.existssync(fileurl)) ); 

return

true; 

} else  

}第四步,session/cookie

這裡稍微有點。但是**量也不多

}第五步,模版渲染

這是最簡單的。因為我用 ,自己用自己喜歡的模組元件就行了

第六步,資料庫處理

這裡可以是用一些orm框架。例如

第七步,檔案上傳,post

這裡只需要乙個元件

第八步,就是你把上面的**組織起來。

可以參考我的實現 **比較亂,見諒。

如何用Node去寫乙個Web應用框架

http.createserver function req,res listen 80 大部分的node教程在這裡會告訴你,我們很容易的建立的乙個伺服器。但是在實際使我們通常使用的是express.f k,難道node必須要用express嗎?自己實現乙個web應用框架真的很難嗎?其實並不是。那麼...

如何用C 寫乙個類

其實寫乙個類很簡單,但是要寫乙個符合各方面要求的類,卻不是一件容易的事情。下面總結一下需要考慮的一些問題,先把暫時想到的方面記下來,以後想到新的在增加吧。類的生死和初始化 1.copy ctor和copy assignment是不是需要private 單例常用 或者是不是要用private繼承來阻止...

如何用Javascript寫乙個Class?

記得前面某次面試被問到此問題,一直以來因為對js的不重視 一知半解,所以當時就懵了 最近google了下,找到以下幾種寫class的方式 1 js因為不是oo語言,所以沒有class的概念,都是通過prototype的方式實現的。var namedclass class.create getname...