1. 程式人生 > >Node.js、以及npm的個人理解

Node.js、以及npm的個人理解

Node.js是什麼?

官方概念:Node.js 是一個基於 Chrome V8 引擎的 JavaScript 執行環境,能夠使得javascript脫離瀏覽器執行。

使用js寫伺服器的優點:

1. 事件驅動
2. 非阻塞式I/O (解決一般伺服器,在高併發情況下,可能會出現崩潰的問題)

解決高併發的技術實現的原理(來自網上摘錄):

  • 在 Java 和 PHP 這類語言中,每個連線都會生成一個新執行緒,每個新執行緒可能需要 2 MB 的配套記憶體。在一個擁有 8 GB RAM 的系統上,理論上最大的併發連線數量是 4,000 個使用者。隨著您的客戶群的增長,如果希望您的 Web 應用程式支援更多使用者,那麼,您必須新增更多伺服器。當然,這會增加伺服器成本、流量成本和人工成本等成本。除這些成本上升外,還有一個潛在技術問題,即使用者可能針對每個請求使用不同的伺服器,因此,任何共享資源都必須在所有伺服器之間共享。
  • 鑑於上述所有原因,整個 Web 應用程式架構(包括流量、處理器速度和記憶體速度)中的瓶頸是:伺服器能夠處理的併發連線的最大數量。
  • Node 解決這個問題的方法是:更改連線到伺服器的方式。每個連線發射一個在 Node 引擎的程序中執行的事件,而不是為每個連線生成一個新的 OS 執行緒(併為其分配一些配套記憶體)。
  • Node 聲稱它絕不會死鎖,因為它根本不允許使用鎖,它不會直接阻塞 I/O 呼叫。Node 還宣稱,執行它的伺服器能支援數萬個併發連線。

下載安裝

性質與Xcode一樣,是一個軟體包,Node即Node.js,下載之後,直接點選安裝在系統中,其他的軟體,比如webstorm、sublime中也就能使用nodejs伺服器開發的相關API了
Node.js 的包管理器 npm,是全球最大的開源庫生態系統。

Node.js最好安裝4.0及其以上更高版本,node安裝成功後npm自動也就有了,直接下載安裝Node.js,網址:https://nodejs.org/en/download/

nodejs不光是開發包的工具,這些包在執行的時候,也需要整合nodejs環境,意思是nodejs不光是開發環境,還是執行環境
與app不一樣,app打了包之後,就不再依靠xcode等了

NPM的使用

NPM的全稱是Node Package Manager,是一個NodeJS包管理和分發工具,它可以讓 javascript 開發者能夠更加輕鬆的共享程式碼和共用程式碼片段,並且通過 npm 管理你分享的程式碼也很方便快捷和簡單。已經成為了非官方的釋出Node模組(包)的標準。

npm有自己的網站,類似於Appstore,官方的?一些nodejs開發的包都會放在上面,也會起到一定的篩選檢測功能性的作用,一些包的使用方法,也可以去這上面搜尋,因為使用nodejs開發的大多是命令列應用,所以在npm上也可以直接搜指令