Node.js是一個JavaScript的運行環境,用來執行JavaScript代碼。 為什么會出現這么一個運行環境呢,從JavaScript研發初衷可以看出它是為了運行在瀏覽器中的,讓網頁交互更加便捷。但是隨著JavaScript影響力不斷壯大,它的使用范圍已經發生了變化。2009年,Node.js發布,初代版本支持基本的網絡通信和文件系統操作,這讓JavaScript可以到服務器上大展拳腳,標志著JavaScript可以用于服務器端編程。 Node.js中node是指一個節點,在這里我們可以用來形容一種環境,而后面.js則是代表這是針對JavaScript的,防止與其他的node項目混淆,但是隨著Node.js知名度越來越高,現在幾乎直接以node代指Node.js了。 Node.js的出現推動了JavaScript的全棧開發,允許開發者使用同一種語言編寫前端和后端代碼。 Node.js除了提供JavaScript運行環境外,還提供了豐富的模塊庫,可以直接在開發時引入,使得開發更加高效和便捷。 Node.js采用了事件驅動、非阻塞式I/O模型,這意味著它可以在單線程上處理大量并發連接。傳統的服務端編程模型通常是多線程或多進程的,每個連接都需要一個獨立的線程或進程來處理,這在處理大量并發連接時會造成很大的性能損耗。而Node.js通過事件循環和回調函數的方式,實現了非阻塞式I/O操作,使得單個線程可以處理更多的并發連接,從而提高了整體性能。 本小節演示環境系統為ubuntu22.04,其他發行版Linux系統除命令有細微差別外,其余一致。 在開始操作之前,我們再簡單了解幾個與Node.js相關的概念,可以幫助我們更了解自己接下來的操作。 nvm:即Node Version Manager,根據名字很明顯可以看出,這是用來安裝和管理Node.js版本的。 npm:即Node Package Manager,我們之前提到過Node.js里面除了攜帶了V8引擎,還攜帶了很多模塊庫,npm則是負責管理這些功能模塊庫的,這些功能模塊也就是我們所說的項目依賴。目前版本的npm會隨著Node.js的安裝一同被安裝,所以非特殊情況不用單獨安裝。 1.使用nvm安裝和管理Node.js官網提供了如何使用nvm來安裝Node.js,想深入了解可移步:https://nodejs.org/en/download/package-manager 下面將展示在ubuntu系統下進行安裝的簡單流程: 1.1 安裝nvm使用如下命令安裝nvm: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash 如果你的網絡無法拉取github的內容,可以使用如下方法通過gitee來安裝nvm #先安裝git sudo apt-get install git #再安裝nvm curl -o- https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh | bash 安裝完畢后,可以看到用戶目錄中多了.nvm文件夾 安裝完畢后,可以重新打開終端或者運行以下命令來讓nvm立即生效: source ~/.nvm/nvm.sh nvm生效后,可以使用nvm -v命令來檢查nvm版本 1.2 安裝Node.js使用剛剛安裝的nvm來安裝Node.js,執行如下命令,可以安裝最新的穩定版Node.js nvm install node 若想安裝非最新版,而想指定版本進行安裝,使用如下命令,例如安裝16.20.2版本的Node.js nvm install 16 當然也可以安裝其他更多的版本,這些版本都會受到nvm管理,并且可以通過nvm來對這些版本進行操作,例如使用如下命令查看當前安裝的版本: nvm list 通過下圖可以看到我們已經安裝了16和22版本的Node.js,下面是nvm工具中一些版本的別名,我們可以忽略。當前使用的版本是16.20.2版本。 如果想切換Node.js版本環境進行開發,使用如下命令: nvm use 22 下圖中可以看到已經切換為22版本了 創建一個名為getUptime.js的JavaScript程序,簡單寫入一個功能,使用內置模塊功能獲取系統運行時間 const os = require('os') // 引入os模塊 const uptime = os.uptime() // 獲取系統運行時間 console.log(`system uptime: ${uptime} sec`) 保存后,使用如下命令執行該文件 node getUptime.js 得到如下輸出內容 可以看到在這個簡單的操作中,Node.js扮演了很重要的角色,它不止能運行JavaScript程序,也給JavaScript提供了豐富的模塊庫。除了內置模塊外,Node.js還支持通過npm引入第三方模塊生態系統,這些模塊可以為JavaScript提供幾乎無限的擴展能力。 文章轉載來源:https://www.ebyte.com/news/3701.html |