1. 程式人生 > >小白學習node.js的記錄

小白學習node.js的記錄

com技術 事件 事件驅動 oob 性能 小白 文件讀取 ref hat

本人對於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的記錄