第一步,用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方法上。實現起來很難麼?其實只需要幾句**
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...