NodeJs新手學習筆記練習項目大綱
- 導言
- NodeJs的個人看法
- 練習項目大綱
導言
畢竟已經不是第一次學編程了,所以就想着折騰點好玩的東西,去NodeJS官網和CnodeJs轉一圈以后,慢慢的有點感覺了,把學習過程中的點點滴滴記錄下來當做一個一個存檔或者為nodejs做一份貢獻吧.
NodeJs的個人看法
NodeJs里面最經典的例子莫過於那個http服務器了,也是目前而言最成熟的nodejs學習的案例.在學習nodejs的過程中發現,很少發現有Nodejs 更移動客戶端打交道的資料,個人愚見,nodejs的異步IO模型非常適合用於在移動客戶端的領域里面,舉個不太嚴謹的例子,例如上傳一張圖片,在當前的移動互聯網速很慢的時候的,服務器不可能為了等待你的一張圖片上傳,不斷的慢慢等待.在這里使用異步IO的話,服務器只管接受圖片上傳就行了,其它的什么都不用管.以上是我對nodejs的應用范圍的一點愚見.
所以,這次的練習項目就是簡單的仿照時下熱門的Instagram
練習項目的規划
這里的目的畢竟不是要完全的模仿Instagram所以,設計就非常隨便了.
讓我們想想Instagram的主要功能
客戶端部分
- 進行圖片獲取
- 將圖片上傳
服務端播放
- 接收圖片
- 保存圖片
我把Instagram的功能做了一個面目全非的精簡,我們實現的目標只需要
1.客戶端能拍照上傳
2.服務端能接收圖片上傳
第一期的練習項目就是完成以上兩個目標.
客戶端部分
經過兩個小時的編碼終於有個雛形了並打包成apk可以安裝在手機上,因為這里是nodejs社區,對客戶端有興趣的話可以關注我的博客 我的博客 在以后的某段時間,我也會把客戶端的開發的進程也記錄下來.
服務端
nodejs + express 3.x
這次服務端要做的事情比較簡單,說白了只不過是要支持文件上傳而已,用express 實現起來十分簡單
片段一:
// 獲得文件的臨時路徑
var tmp_path = req.files.thumbnail.path;
這里要特地說一下,win下和,linux下的區別.win下的文件系統不像linux那樣所有的路徑都可以基於 /xxx/xx完成,所以在win下express里面改變文件默認上傳的目錄的話,最好還是填絕對路徑.
片段二
// 將臨時文件移動到目標文件夾
`fs.rename(temppath, targetpath, function(err) {if(err) throw err;
//刪除臨時文件
fs.unlink(temp_path, function() { if(err) throw err; }); });`
更多細節還是app.js看源代碼47行 - 54行
就這么完了?當然不會了,接下來有得是折騰,不過暫時讓我歇一歇吧,有興趣的朋友就持續關注吧,不過,期望不要太高,畢竟俺只是興趣而為而已
