為什么要學node.js
坊間關于"Facebook只招全棧工程師"的傳言使得全棧工程師火了一陣子。尤其是那些剛入行的年輕人,單是看著"全棧"這個稱謂,就已經感到熱血沸騰,有種刀鋒在鞘里躍躍欲試的感覺。
事實上,一個人要做到真正意義的全棧是不可能的,從需求分析,原型交互,ui設計,到前端代碼,后端編程, 再到服務器運維,數據庫優化等。這其中的任何一個環節如果要精深研究,都需要好多年的時間。以人類的學習能力和知識消化的速度,是不可能在有生之年將這些領域的知識都學會。
但如果你所認為的"全棧"是后端能寫前端代碼,前端也懂一兩門后端語言。那這種意義的全棧難度并不大,而且很有必要。
前端與后端原本是涇渭分明的兩個領域。node.js的出現如同膠水一般使這兩者可以更好地結合起來。
node.js并不是一門語言,而是一個js的運行環境,可以理解為一個平臺。node.js所用的語言是js, 對于前端來說,直接擼起袖子就能寫。同時,node又提供了操作服務端的接口,如文件讀寫,http服務器等,后端人員一看接口就知道怎么處理。
基于此,不管是前后端,都很有必要學下node.js,學習成本并不高,而收益卻極大。
node.js與瀏覽器有什么區別
在node.js之前,js只能在瀏覽器上運行。瀏覽器的js是由以下部分組成:
EcmaScript
BOM
DOM
node.js中的js包括:
EcmaScript
提供服務器級別操作的API
node.js的特點簡要概括為:
是一個javascript運行環境或者平臺
依賴于Chrome V8引擎進行代碼解釋
基于事件驅動
異步式I/O(非阻塞I/O)
單進程、單線程
輕量、可伸縮,適用于實時數據交互應用
以上這些特點,對于初學者來說,看了估計是一臉懵逼,這沒關系,后續會對這些概念展開闡述,在此只需要知道有這些概念即可。
第一個node.js程序
node.js的安裝很簡單,在官網下載相應的安裝包,即可安裝。
安裝后,查看node.js版本
? node [master] ? node -v
v8.11.2
撰寫第一個node.js程序
let welcome = '一起來入node.js的坑吧...'
console.log(welcome);
執行結果:
? 01 [master] ? node 01.js
一起來入node.js的坑吧...