nodejs,npm,express分別什麼?
轉載自: https://www.cnblogs.com/ShimizuShiori/p/5656211.html
如有問題 請聯絡本人,刪除即可.
很多剛剛接觸nodejs的初學者,都會經歷一個很繁冗的環境安裝過程。
一般主要要安裝nodejs,npm和express三樣東西。那麼這三樣東西分別是幹什麼的呢?
本篇文章就大致介紹一下這三樣東西分別是幹什麼的:
nodejs
首先要說的是nodejs,既然我們要裝nodejs,那這個其實就沒什麼好解釋的。
nodejs就是執行框架,就像C#和.net,JAVA和JRE一樣,nodejs就是nodejs。
所以其實裝了nodejs以後,nodejs其實就已經可以編碼和運行了。
npm
npm是一個JavaScript的包管理程式。
它的用途和.net中的NuGet,Java中的Maven是同一種作用。
對於不瞭解NuGet和Maven也不瞭解的同學可以繼續往下看:
什麼是包管理?
我們開發程式的時候,經常會選擇一些第三方框架來幫助我們專注於實現業務。
那麼一旦要選擇第三方框架,就一定會存在以下問題:
-
我要去哪裡下載我要的第三方框架?
-
我要用什麼版本?
-
如何更新我已經使用的第三方框架?
那麼包管理器就是為了解決上述問題而存在的。
使用者安裝了包管理器以後,只要告訴包管理器,我要用什麼框架,什麼版本的。剩下來的事,包管理器就全部幫你完成了,幫你下載指定版本的框架到你需要的專案中間並引用,甚至於參與到編譯和執行中去。
npm就是這樣的一個程式,它提供了我們用於JavaScript開發所需要的各種常見第三方框架的下載。
Express
經常會看到nodejs環境安裝中涉及到Express的安裝,這個東西也是非常難裝的,經常會出現各種各樣的問題。
那麼Express又是幹什麼的呢?
對nodejs有一些瞭解同學一定知道,nodejs本身其實只提供了檔案、網路埠監聽、字符集等基本的操作。
但是如果要往一個成熟的BS架構服務端上去做的話,似乎還少了些什麼?比如路由功能、異常處理等等。
如果我們每次做專案都要把一些BS架構服務端所需要的基本骨架都編寫一次,肯定大家都不樂意。
那麼Express就幫助你完成了這些事情。
Express是nodejs的一套框架。
對,它只是一套框架,並不是nodejs的真身,沒有它我們一樣可以做nodejs,只不過——會累一些。。。
Express提供了很多面向服務端骨架的內容,讓我們儘可能的直接編寫那些屬於業務邏輯的程式碼,降低了對錯誤處理的難度等等
Express在較新的版本中由兩個部分組成:
-
express
-
express-generator
前者是負責執行時的框架。
後者是負責生成一個express專案的標準目錄結構,開發人員只要按照相應的目錄存放相應的檔案,express框架就可以順利的執行起來。