node是后端;node本質(zhì)上是一個(gè)JavaScript運(yùn)行環(huán)境,目的是讓JavaScript可以實(shí)現(xiàn)在服務(wù)器上的開發(fā),其本身不屬于前端,但是屬于前端的技術(shù)棧,即可以服務(wù)于前端,也可以服務(wù)于后端。
node.js極速入門課程:進(jìn)入學(xué)習(xí)
本文操作環(huán)境:Windows10系統(tǒng)、nodejs 16版、Dell G3電腦。
node是前端還是后端
node.js不屬于前端,而是后端
經(jīng)常有人說nodejs是前端,同時(shí)也有會出來反對說node.js是后端。
嚴(yán)格意義上講node當(dāng)然不屬于前端。
因?yàn)镹ode一開始只是服務(wù)器端的js,但是現(xiàn)在的說法是node.js已經(jīng)是js的一個(gè)運(yùn)行時(shí)了。
它的核心是event driven, non blocking I/O,以及主要由npm構(gòu)建的模塊體系。
所以node.js本身與前端并沒有關(guān)系,他是一個(gè)運(yùn)行時(shí).
node.js可以輔助前端開發(fā)
盡管nodejs不屬于前端,但是node.js因?yàn)槭褂玫恼Z言是js。所以可以很好的輔助前端開發(fā).
node.js繁榮了前端的構(gòu)建工具
我們知道Web的開發(fā)體系中,分成前端,后端,工具,三個(gè)主要的領(lǐng)域。
前端主要由由瀏覽器,HTML+CSS+瀏覽器端JS完成。
后端主要是由Web服務(wù)器,數(shù)據(jù)庫,動態(tài)腳本語言,其它的業(yè)務(wù)服務(wù)器等組成。
還有就是很多基礎(chǔ)設(shè)計(jì)與便利資料,我們可以統(tǒng)稱為工具。比如源碼管理,編輯器,數(shù)據(jù)庫備份,加密,解密,防火墻等一系列的工具。
那么node.js在前端開發(fā)里的作用主要還是工具的作用。主要表現(xiàn)在以下方面:
-
構(gòu)件開發(fā)流程
主要是將前端的開發(fā)過程變的簡化,自動化。這類軟件主要有g(shù)ulp, yo, grunt.
-
構(gòu)件項(xiàng)目文件
主要作用是將前端的代碼組織起來,包括html, css, js都組成起來,并打包完成。這類工具主要有webpack, browserify, require.js, uglify等
通過上述的幾個(gè)功能,就可以通過node.js將前端的代碼組織起來,然后通過node的工具軟件,將node.js的代碼轉(zhuǎn)化成前端的js代碼。
所以在這種意義上來講,可以認(rèn)為node.js的開發(fā)是前端開發(fā)。但是不表示node.js本身是前端。
node.js是以工具的形式,參與到前端開發(fā)之中。
node.js的作用就相當(dāng)于是JAVA的GWT。
它最終生成的是前端的JS,但是不能說Java屬于前端(至少目前還不是)。
所以雖然前端開發(fā)對于node.js的依賴非常的強(qiáng),但是node.js并不屬于前端。
node.js只是大量的參與了前端工具鏈的工作,并提供了