小白學習node.js的記錄
本人對於node.js一無所知,純純的小白一枚,想學習的初衷是了解node.js是什麽,能用它幹點什麽,說白就是好奇心使然吧。接下來記錄自己的學習過程。
註:若有錯誤歡迎指出,互相學習。segmentfault stackoverflow
誰適合閱讀本教程?
如果你是一個前端程序員,你不懂得像PHP、Python或Ruby等動態編程語言,然後你想創建自己的服務,那麽Node.js是一個非常好的選擇。
Node.js 是運行在服務端的 JavaScript,如果你熟悉Javascript,那麽你將會很容易的學會Node.js。
當然,如果你是後端程序員,想部署一些高性能的服務,那麽學習Node.js也是一個非常好的選擇。
簡單的說 Node.js 就是運行在服務端的 JavaScript。
Node.js 是一個基於Chrome JavaScript 運行時建立的一個平臺。
Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。(摘錄)
www.npmjs.com 社區 看看nodejs的版本升級,新特性的加入,重要bug的修復等;github.com大量的項目和源碼;stackoverflow.com技術解答社區以及查詢相關資源,環境配置,異常均可找到答案。
node.js 偶數為穩定版本 奇數為非穩定版本
node 安裝地址:http://nodejs.cn/download/ 根據自己的系統下載不同的安裝包.
Node.js 回調函數
了解了阻塞與非阻塞調用的不同。第一個實例在文件讀取完後才執行完程序。 第二個實例我們不需要等待文件讀取完,這樣就可以在讀取文件時同時執行接下來的代碼,大大提高了程序的性能。
因此,阻塞是按順序執行的,而非阻塞是不需要按順序的,所以如果需要處理回調函數的參數,我們就需要寫在回調函數內。
註:回調函數可以做異步處理;阻塞和非阻塞 == 同步和異步
Node.js 是單進程單線程應用程序,但是通過事件和回調支持並發,所以性能非常高。
Node.js 的每一個 API 都是異步的,並作為一個獨立線程運行,使用異步函數調用,並處理並發。
Node.js 基本上所有的事件機制都是用設計模式中觀察者模式實現。
進程的讀寫;網絡進程的管理
win+R 快捷鍵 調取cmd窗口
根據下載的安裝包,進行安裝;我的是win, (PS:太窮)在cmd 回車 輸入 node -v 查看node版本號(node --version)
若出現 你輸入的不是內部命令,是你的環境變量PATH 中沒有路徑,需要手動添加。
linux 中 cat /etc/redhat-release 查看centos 版本
rpm -q gcc rpm -q gcc-c++ 查看是否安裝
yum -y install gcc gcc-c++ kernel-devel 安裝gcc gcc-c++
gyp跨平臺管理工具管理進程,gyp 是python 寫的,所以需要安裝python 2.7 不推薦使用python 3
mac xcode編譯器
測試數據:server.js
接下來寫個小栗子:
student.js
teacher.js:
kclass.js
index.js
index.js 入口文件 運行
疑問????? node.js 怎樣在瀏覽器中訪問呢??????、、
小白學習node.js的記錄