精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

工程師必備!Node.js和常見管理工具介紹(附操作演示)

億佰特物聯網應用專家 ? 2024-08-30 12:34 ? 次閱讀

在現代軟件開發中,JavaScript已成為一種廣泛使用的編程語言,在web前端開發、后端開發、移動應用端開發等領域中都有它的身影。在本文中,將從JavaScript語言為出發點,揭示這一語言及其相關生態中的一些基礎而關鍵的概念,以及它們是如何在互聯網歷史浪潮中產生的。

JavaScript與Node.js

1

JavaScript

JavaScript,即JS,一門高級的、解釋性的編程語言,與我們常用的C、C++這些編譯性語言相比,JavaScript特殊之處在于它是動態的解釋性語言,特征是在執行時不需要提前編譯成機器碼,而是由解釋器逐行讀取并執行。

雖然JavaScript名字帶Java,但在語言方面沒有直接關系,而是有一種間接的緣分。這個要從JavaScript開發的初衷講起。在以前沒有網頁腳本語言的時候,網頁所有的操作都要發送到服務器再返回,效率低下。所以需要一種嵌入到網頁的腳本語言,用來控制一些簡單的瀏覽器行為,比如在本地做一些檢查等。因此網景公司(Netscape)和Sun公司合作開發了一款叫LiveScript的瀏覽器腳本語言,后來正式發布時更名為JavaScript,而Sun公司正是Java語言的發明者和擁有者。

JavaScript借鑒了Java的部分語法,但是語法更加奔放自由,且其他方面也有很大區別,主要是兩者應用環境大有不同。

2

Node.js

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操作,使得單個線程可以處理更多的并發連接,從而提高了整體性能。

3

JavaScript引擎與V8引擎

為什么Node.js能夠運行JavaScript呢,因為它里面內置了JavaScript V8引擎,這是一款由Google開發的引擎。

那什么是引擎呢?這里提到的引擎是指JavaScript引擎,簡單來說也就是能夠將Javascript代碼處理并執行的運行環境,引擎包含了解釋器、編譯器等部分。

瀏覽器之所以能夠運行JavaScript,是因為每款瀏覽器都有自己的JavaScript引擎,具體如下:

338d949c-6689-11ef-89ff-92fbcf53809c.png

可以看出,瀏覽器中嵌入JavaScript引擎,這是以前最常見的一種模式。直到Node.js的出現,使得JavaScript能夠脫離瀏覽器發展,并且做到了跨平臺,使其能夠在不同的操作系統上運行。

Node.js的安裝與常用管理工具

本小節演示環境系統為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:

#先安裝gitsudoapt-getinstallgit#再安裝nvmcurl -o- https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh | bash

安裝完畢后,可以看到用戶目錄中多了.nvm文件夾。

339d82d0-6689-11ef-89ff-92fbcf53809c.png

安裝完畢后,可以重新打開終端或者運行以下命令來讓nvm立即生效:

source ~/.nvm/nvm.sh

nvm生效后,可以使用nvm -v命令來檢查nvm版本。

33b0e596-6689-11ef-89ff-92fbcf53809c.png

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版本。

33b4b78e-6689-11ef-89ff-92fbcf53809c.png

如果想切換Node.js版本環境進行開發,使用如下命令:

nvm use 22

下圖中可以看到已經切換為22版本了。

33d22170-6689-11ef-89ff-92fbcf53809c.png

1.3 創建一個簡單的JavaScript程序

創建一個名為getUptime.js的JavaScript程序,簡單寫入一個功能,使用內置模塊功能獲取系統運行時間。

constos=require('os')//引入os模塊
constuptime=os.uptime()//獲取系統運行時間console.log(`system uptime: ${uptime} sec`)

保存后,使用如下命令執行該文件:

node getUptime.js

得到如下輸出內容:

33ebe876-6689-11ef-89ff-92fbcf53809c.png

可以看到在這個簡單的操作中,Node.js扮演了很重要的角色,它不止能運行JavaScript程序,也給JavaScript提供了豐富的模塊庫。除了內置模塊外,Node.js還支持通過npm引入第三方模塊生態系統,這些模塊可以為JavaScript提供幾乎無限的擴展能力。

關于Node.js小科普的上篇內容到這里就結束了。在下篇中,我們將圍繞Node.js項目開發,簡單討論如何用npm構建項目結構、依賴管理等,也會提到如何使用pm2進行Node.js應用程序的進程管理。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9029

    瀏覽量

    85205
  • JAVA
    +關注

    關注

    19

    文章

    2960

    瀏覽量

    104562
  • 編程語言
    +關注

    關注

    10

    文章

    1939

    瀏覽量

    34607
收藏 人收藏

    評論

    相關推薦

    Node.js小科普和Node.js安裝常見管理工具

    便捷。但是隨著JavaScript影響力不斷壯大,它的使用范圍已經發生了變化。2009年,Node.js發布,初代版本支持基本的網絡通信和文件系統操作,這讓JavaScript可以到服務器上大展拳腳
    的頭像 發表于 11-23 15:37 ?79次閱讀
    <b class='flag-5'>Node.js</b>小科普和<b class='flag-5'>Node.js</b>安裝<b class='flag-5'>常見</b><b class='flag-5'>管理工具</b>

    硬件工程師找工作必備書籍推薦

    硬件工程師找工作必備書籍推薦
    的頭像 發表于 09-24 16:07 ?694次閱讀
    硬件<b class='flag-5'>工程師</b>找工作<b class='flag-5'>必備</b>書籍推薦

    飛凌嵌入式4G/5G網卡自管理工具,你的守護進程專家

    為了幫助用戶解決無法高效、穩定地管理嵌入式設備上的無線模塊的問題,飛凌嵌入式精心打造了 4G/5G網卡自管理工具,旨在以更智能化的管理策略和更靈活的配置方式為用戶帶來更加便捷的網絡管理
    的頭像 發表于 07-12 15:27 ?1256次閱讀
    飛凌嵌入式4G/5G網卡自<b class='flag-5'>管理工具</b>,你的守護進程專家

    嵌入式軟件工程師和硬件工程師的區別?

    嵌入式軟件工程師和硬件工程師的區別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發領域中的一種專業工程師,他們主要負責設計和開發嵌入式軟件,
    發表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發布于 :2024年04月30日 17:33:15

    芯片封裝工程師必備知識和學習指南

    芯片封裝工程師是現代電子行業中不可或缺的專業人才,他們的工作涉及將設計好的芯片封裝到細小的封裝體中,以確保芯片能夠在各種環境下穩定、可靠地工作。本文將詳細介紹芯片封裝工程師必備的專業知
    的頭像 發表于 04-26 10:50 ?1969次閱讀
    芯片封裝<b class='flag-5'>工程師</b><b class='flag-5'>必備</b>知識和學習指南

    鴻蒙 Harmony 工具

    平臺做的自定義 IDE。因此,對于 Java 開發者而言,DevEco 只是“在熟悉中帶有一點點陌生”。 安裝 Node.js 在安裝好 DevEco 之后,首次點開需要開發者設置 Node.js
    的頭像 發表于 01-30 15:00 ?1092次閱讀
    鴻蒙 Harmony <b class='flag-5'>工具</b>篇

    優秀電源工程師需要哪些必備技能?

    的設計過程中,首要任務是深入了解芯片內部外設的使用方法,可以通過直接操作寄存器或者使用相關庫文件配置外設的硬件驅動。工程師需要掌握數字電源常見的硬件驅動技術,包括ADC采樣、信號I/O、PWM、硬件保護等,并進
    發表于 01-29 11:29

    微軟棄用WMIC,Windows管理工具的變革

    近期,微軟再次出手對Windows 11內置的WMIC管理工具實施了禁止,并聲明未來的Windows 11最新版(預計將于今年晚些時候推出的24H2版本)將不再支持該應用。
    的頭像 發表于 01-29 10:18 ?1131次閱讀

    安全密鑰管理工具V.1.05用戶手冊

    電子發燒友網站提供《安全密鑰管理工具V.1.05用戶手冊.pdf》資料免費下載
    發表于 01-03 10:08 ?0次下載
    安全密鑰<b class='flag-5'>管理工具</b>V.1.05用戶手冊

    優秀電源工程師必備技能大揭秘!

    就帶大家細數一下優秀電源工程師具備的那些技能。新手必備課程成為一名電源高手需要扎實的理論基礎,涉及電路原理、語言編程和控制理論等多個學科領域。為了幫助大家更好地掌握
    的頭像 發表于 12-19 08:23 ?1712次閱讀
    優秀電源<b class='flag-5'>工程師</b>的<b class='flag-5'>必備</b>技能大揭秘!

    硬件工程師必備的音頻功放電路大全

    硬件工程師必備的音頻功放電路大全
    的頭像 發表于 12-07 17:25 ?1181次閱讀
    硬件<b class='flag-5'>工程師</b><b class='flag-5'>必備</b>的音頻功放電路大全

    Navicat和DBeaver的完美替代軟件!推薦4款免費數據庫管理工具

    navicat替代工具推薦的四款免費數據庫管理工具:NineData、HeidiSQL、DataGrip、phpMyAdmin。無論你是初學者還是專家,無論是輕盈易用還是功能強大,總有一款適合你
    的頭像 發表于 12-07 11:39 ?5065次閱讀
    Navicat和DBeaver的完美替代軟件!推薦4款免費數據庫<b class='flag-5'>管理工具</b>