NodeJs新手學習筆記練習項目大綱


NodeJs新手學習筆記練習項目大綱

  • 導言
  • NodeJs的個人看法
  • 練習項目大綱

導言

畢竟已經不是第一次學編程了,所以就想着折騰點好玩的東西,去NodeJS官網和CnodeJs轉一圈以后,慢慢的有點感覺了,把學習過程中的點點滴滴記錄下來當做一個一個存檔或者為nodejs做一份貢獻吧.

NodeJs的個人看法

NodeJs里面最經典的例子莫過於那個http服務器了,也是目前而言最成熟的nodejs學習的案例.在學習nodejs的過程中發現,很少發現有Nodejs 更移動客戶端打交道的資料,個人愚見,nodejs的異步IO模型非常適合用於在移動客戶端的領域里面,舉個不太嚴謹的例子,例如上傳一張圖片,在當前的移動互聯網速很慢的時候的,服務器不可能為了等待你的一張圖片上傳,不斷的慢慢等待.在這里使用異步IO的話,服務器只管接受圖片上傳就行了,其它的什么都不用管.以上是我對nodejs的應用范圍的一點愚見.

所以,這次的練習項目就是簡單的仿照時下熱門的Instagram

練習項目的規划

這里的目的畢竟不是要完全的模仿Instagram所以,設計就非常隨便了.

讓我們想想Instagram的主要功能

  1. 客戶端部分

    1. 進行圖片獲取
    2. 將圖片上傳
  2. 服務端播放

    1. 接收圖片
    2. 保存圖片

我把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行

就這么完了?當然不會了,接下來有得是折騰,不過暫時讓我歇一歇吧,有興趣的朋友就持續關注吧,不過,期望不要太高,畢竟俺只是興趣而為而已

github傳送門 https://github.com/youxilua/nodejsfileUpload


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM