99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

億佰特物聯(lián)網(wǎng)應(yīng)用專家 ? 2024-08-30 12:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在現(xiàn)代軟件開發(fā)中,JavaScript已成為一種廣泛使用的編程語(yǔ)言,在web前端開發(fā)、后端開發(fā)、移動(dòng)應(yīng)用端開發(fā)等領(lǐng)域中都有它的身影。在本文中,將從JavaScript語(yǔ)言為出發(fā)點(diǎn),揭示這一語(yǔ)言及其相關(guān)生態(tài)中的一些基礎(chǔ)而關(guān)鍵的概念,以及它們是如何在互聯(lián)網(wǎng)歷史浪潮中產(chǎn)生的。

JavaScript與Node.js

1

JavaScript

JavaScript,即JS,一門高級(jí)的、解釋性的編程語(yǔ)言,與我們常用的C、C++這些編譯性語(yǔ)言相比,JavaScript特殊之處在于它是動(dòng)態(tài)的解釋性語(yǔ)言,特征是在執(zhí)行時(shí)不需要提前編譯成機(jī)器碼,而是由解釋器逐行讀取并執(zhí)行。

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

JavaScript借鑒了Java的部分語(yǔ)法,但是語(yǔ)法更加奔放自由,且其他方面也有很大區(qū)別,主要是兩者應(yīng)用環(huán)境大有不同。

2

Node.js

Node.js是一個(gè)JavaScript的運(yùn)行環(huán)境,用來(lái)執(zhí)行JavaScript代碼。

為什么會(huì)出現(xiàn)這么一個(gè)運(yùn)行環(huán)境呢,從JavaScript研發(fā)初衷可以看出它是為了運(yùn)行在瀏覽器中的,讓網(wǎng)頁(yè)交互更加便捷。但是隨著JavaScript影響力不斷壯大,它的使用范圍已經(jīng)發(fā)生了變化。2009年,Node.js發(fā)布,初代版本支持基本的網(wǎng)絡(luò)通信和文件系統(tǒng)操作,這讓JavaScript可以到服務(wù)器上大展拳腳,標(biāo)志著JavaScript可以用于服務(wù)器端編程。

Node.js中node是指一個(gè)節(jié)點(diǎn),在這里我們可以用來(lái)形容一種環(huán)境,而后面.js則是代表這是針對(duì)JavaScript的,防止與其他的node項(xiàng)目混淆,但是隨著Node.js知名度越來(lái)越高,現(xiàn)在幾乎直接以node代指Node.js了。

Node.js的出現(xiàn)推動(dòng)了JavaScript的全棧開發(fā),允許開發(fā)者使用同一種語(yǔ)言編寫前端和后端代碼。

Node.js除了提供JavaScript運(yùn)行環(huán)境外,還提供了豐富的模塊庫(kù),可以直接在開發(fā)時(shí)引入,使得開發(fā)更加高效和便捷。

Node.js采用了事件驅(qū)動(dòng)、非阻塞式I/O模型,這意味著它可以在單線程上處理大量并發(fā)連接。傳統(tǒng)的服務(wù)端編程模型通常是多線程或多進(jìn)程的,每個(gè)連接都需要一個(gè)獨(dú)立的線程或進(jìn)程來(lái)處理,這在處理大量并發(fā)連接時(shí)會(huì)造成很大的性能損耗。而Node.js通過(guò)事件循環(huán)和回調(diào)函數(shù)的方式,實(shí)現(xiàn)了非阻塞式I/O操作,使得單個(gè)線程可以處理更多的并發(fā)連接,從而提高了整體性能。

3

JavaScript引擎與V8引擎

為什么Node.js能夠運(yùn)行JavaScript呢,因?yàn)樗锩鎯?nèi)置了JavaScript V8引擎,這是一款由Google開發(fā)的引擎。

那什么是引擎呢?這里提到的引擎是指JavaScript引擎,簡(jiǎn)單來(lái)說(shuō)也就是能夠?qū)avascript代碼處理并執(zhí)行的運(yùn)行環(huán)境,引擎包含了解釋器、編譯器等部分。

瀏覽器之所以能夠運(yùn)行JavaScript,是因?yàn)槊靠顬g覽器都有自己的JavaScript引擎,具體如下:

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

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

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

本小節(jié)演示環(huán)境系統(tǒng)為ubuntu22.04,其他發(fā)行版Linux系統(tǒng)除命令有細(xì)微差別外,其余一致。

在開始操作之前,我們?cè)俸?jiǎn)單了解幾個(gè)與Node.js相關(guān)的概念,可以幫助我們更了解自己接下來(lái)的操作。

nvm:即Node Version Manager,根據(jù)名字很明顯可以看出,這是用來(lái)安裝和管理Node.js版本的。

npm:即Node Package Manager,我們之前提到過(guò)Node.js里面除了攜帶了V8引擎,還攜帶了很多模塊庫(kù),npm則是負(fù)責(zé)管理這些功能模塊庫(kù)的,這些功能模塊也就是我們所說(shuō)的項(xiàng)目依賴。目前版本的npm會(huì)隨著Node.js的安裝一同被安裝,所以非特殊情況不用單獨(dú)安裝。

1.使用nvm安裝和管理Node.js

官網(wǎng)提供了如何使用nvm來(lái)安裝Node.js,想深入了解可移步:https://nodejs.org/en/download/package-manager

下面將展示在ubuntu系統(tǒng)下進(jìn)行安裝的簡(jiǎn)單流程:

1.1 安裝nvm

使用如下命令安裝nvm:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

如果你的網(wǎng)絡(luò)無(wú)法拉取github的內(nèi)容,可以使用如下方法通過(guò)gitee來(lái)安裝nvm:

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

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

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

安裝完畢后,可以重新打開終端或者運(yùn)行以下命令來(lái)讓nvm立即生效:

source ~/.nvm/nvm.sh

nvm生效后,可以使用nvm -v命令來(lái)檢查nvm版本。

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

1.2 安裝Node.js

使用剛剛安裝的nvm來(lái)安裝Node.js,執(zhí)行如下命令,可以安裝最新的穩(wěn)定版Node.js:

nvm install node

若想安裝非最新版,而想指定版本進(jìn)行安裝,使用如下命令,例如安裝16.20.2版本的Node.js:

nvm install 16

當(dāng)然也可以安裝其他更多的版本,這些版本都會(huì)受到nvm管理,并且可以通過(guò)nvm來(lái)對(duì)這些版本進(jìn)行操作,例如使用如下命令查看當(dāng)前安裝的版本:

nvm list

通過(guò)下圖可以看到我們已經(jīng)安裝了16和22版本的Node.js,下面是nvm工具中一些版本的別名,我們可以忽略。當(dāng)前使用的版本是16.20.2版本。

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

如果想切換Node.js版本環(huán)境進(jìn)行開發(fā),使用如下命令:

nvm use 22

下圖中可以看到已經(jīng)切換為22版本了。

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

1.3 創(chuàng)建一個(gè)簡(jiǎn)單的JavaScript程序

創(chuàng)建一個(gè)名為getUptime.js的JavaScript程序,簡(jiǎn)單寫入一個(gè)功能,使用內(nèi)置模塊功能獲取系統(tǒng)運(yùn)行時(shí)間。

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

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

node getUptime.js

得到如下輸出內(nèi)容:

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

可以看到在這個(gè)簡(jiǎn)單的操作中,Node.js扮演了很重要的角色,它不止能運(yùn)行JavaScript程序,也給JavaScript提供了豐富的模塊庫(kù)。除了內(nèi)置模塊外,Node.js還支持通過(guò)npm引入第三方模塊生態(tài)系統(tǒng),這些模塊可以為JavaScript提供幾乎無(wú)限的擴(kuò)展能力。

關(guān)于Node.js小科普的上篇內(nèi)容到這里就結(jié)束了。在下篇中,我們將圍繞Node.js項(xiàng)目開發(fā),簡(jiǎn)單討論如何用npm構(gòu)建項(xiàng)目結(jié)構(gòu)、依賴管理等,也會(huì)提到如何使用pm2進(jìn)行Node.js應(yīng)用程序的進(jìn)程管理。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9759

    瀏覽量

    87652
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2988

    瀏覽量

    108664
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1955

    瀏覽量

    36444
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Splashtop 入選 Gartner 端點(diǎn)管理工具市場(chǎng)指南代表供應(yīng)商

    近日,國(guó)際權(quán)威IT研究與咨詢機(jī)構(gòu)Gartner發(fā)布《端點(diǎn)管理工具市場(chǎng)指南》(MarketGuideforEndpointManagementTools)報(bào)告(以下簡(jiǎn)稱“報(bào)告”),為企業(yè)評(píng)估技術(shù)供應(yīng)商
    的頭像 發(fā)表于 06-12 17:36 ?457次閱讀
    Splashtop 入選 Gartner 端點(diǎn)<b class='flag-5'>管理工具</b>市場(chǎng)指南代表供應(yīng)商

    HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開發(fā)Node環(huán)境

    ? 你好呀,開發(fā)者小伙伴們!今天我們來(lái)聊聊如何在HarmonyOS(ArkTS API 9及以上)中玩轉(zhuǎn)云函數(shù),特別是結(jié)合Node.js和HTTP觸發(fā)器的開發(fā)技巧。文章會(huì)手把手帶你從零開始,用最接地
    發(fā)表于 05-22 17:21

    可以在MCUXpressoIDE中哪些位置管理工具鏈?

    \'} arm-gnu-toolchain-12.3.rel1-mingw-w64-i686-arm-none-eabiarm-none-eabiinclude/sys/types.h:107:25: error: conflicting types for \'clock_t\'; have \'long unsigned int\' 我應(yīng)該使用
    發(fā)表于 04-10 07:37

    在樹莓派上構(gòu)建和部署 Node.js 項(xiàng)目

    探索在RaspberryPi上構(gòu)建和部署Node.js項(xiàng)目的最佳實(shí)踐。通過(guò)我們的專業(yè)提示和技巧,克服常見挑戰(zhàn),使您的項(xiàng)目順利運(yùn)行。去年圣誕節(jié),我收到了一份極其令人著迷的禮物,它占據(jù)了我許多周末的時(shí)間
    的頭像 發(fā)表于 03-25 09:44 ?250次閱讀
    在樹莓派上構(gòu)建和部署 <b class='flag-5'>Node.js</b> 項(xiàng)目

    硬件系統(tǒng)工程師寶典—完整版

    資料介紹: 這是一本硬件工程師必備書,介紹了硬件工程師所必須的一些知識(shí),例如EMC、SI、PI等知識(shí),讓你將學(xué)習(xí)過(guò)的硬件知識(shí)融會(huì)貫通。
    發(fā)表于 03-22 15:47

    【干貨】什么是Node-RED?一文帶你了解!

    一什么是Node-RED?首先我們來(lái)認(rèn)識(shí)一下什么是Node-RED。Node-RED是一個(gè)基于Node.js的開源可視化編程工具,于2013
    的頭像 發(fā)表于 03-13 19:32 ?744次閱讀
    【干貨】什么是<b class='flag-5'>Node</b>-RED?一文帶你了解!

    研華KB Insight智能知識(shí)管理工具加速工業(yè)智能化

    為應(yīng)對(duì)新型工業(yè)化進(jìn)程中“經(jīng)驗(yàn)未數(shù)字化”與“數(shù)據(jù)未業(yè)務(wù)化”的雙重困局,研華 IoTSuite 工業(yè)物聯(lián)網(wǎng)平臺(tái) & AIoT 數(shù)智應(yīng)用開發(fā)工具包全新發(fā)布又一利器—— KB Insight 智能知識(shí)管理工具,助力企業(yè)知識(shí)資產(chǎn)的智能應(yīng)用。
    的頭像 發(fā)表于 03-10 10:18 ?544次閱讀

    hyper管理器,Hyper管理器:管理工具使用指南

    隨著大數(shù)據(jù)、云計(jì)算等新興技術(shù)的不斷發(fā)展,數(shù)據(jù)的規(guī)模呈指數(shù)級(jí)增長(zhǎng)。在這樣的背景下,批量管理工具的價(jià)值愈發(fā)凸顯,它成為了我們?cè)跀?shù)據(jù)管理領(lǐng)域的重要利器。今天就為大家介紹Hyper管理器:
    的頭像 發(fā)表于 02-08 09:57 ?908次閱讀
    hyper<b class='flag-5'>管理</b>器,Hyper<b class='flag-5'>管理</b>器:<b class='flag-5'>管理工具</b>使用指南

    Bun 1.2震撼發(fā)布:全力挑戰(zhàn)Node.js生態(tài)的JavaScript運(yùn)行時(shí)新星

    了與 Node.js 的兼容性,還為開發(fā)者帶來(lái)了內(nèi)置的數(shù)據(jù)庫(kù)支持和云服務(wù)集成能力,進(jìn)一步強(qiáng)化了其“全能工具包”的定位。Node.js 兼容性獲得突破性進(jìn)展在此次更新中,最引人注目的是 Bun 在
    的頭像 發(fā)表于 01-24 10:42 ?783次閱讀
    Bun 1.2震撼發(fā)布:全力挑戰(zhàn)<b class='flag-5'>Node.js</b>生態(tài)的JavaScript運(yùn)行時(shí)新星

    Flexus X 實(shí)例安裝 ShowDoc 文檔管理工具

    ShowDoc 文檔管理工具,開啟高效協(xié)作之旅。 一、Flexus 云服務(wù)器 X 實(shí)例介紹 1.1 Flexus 云服務(wù)器 X 實(shí)例簡(jiǎn)介 華為云 Flexus 云服務(wù)器 X 實(shí)例官網(wǎng):Flexus云服務(wù)器X實(shí)例
    的頭像 發(fā)表于 01-13 15:51 ?409次閱讀
    Flexus X 實(shí)例安裝 ShowDoc 文檔<b class='flag-5'>管理工具</b>

    ADI電源管理工具推薦

    ADI 提供了一整套電源管理工具,幫助您一次性正確設(shè)計(jì)電源解決方案。ADI 的電源管理工具支持從零件推薦到性能估算、實(shí)用的電源樹設(shè)計(jì)、電路仿真和系統(tǒng)級(jí)優(yōu)化的整個(gè)設(shè)計(jì)過(guò)程。探索這些免費(fèi)且強(qiáng)大的工具
    的頭像 發(fā)表于 12-23 09:46 ?819次閱讀

    嵌入式工程師常用的開發(fā)工具有哪些?

    項(xiàng)目管理和調(diào)試。IAR Embedded Workbench 也是廣受歡迎的 IDE,具有出色的優(yōu)化能力和調(diào)試工具,能夠幫助工程師快速開發(fā)出高質(zhì)量的嵌入式軟件。 二、編譯器 編譯器將高級(jí)語(yǔ)言
    發(fā)表于 12-20 15:29

    cmp項(xiàng)目管理工具的優(yōu)缺點(diǎn)

    CMP項(xiàng)目管理工具,在不同的語(yǔ)境下有不同的含義。一種是指綜合項(xiàng)目管理平臺(tái)(Comprehensive Management Platform),它旨在整合和優(yōu)化項(xiàng)目的各個(gè)方面,包括時(shí)間管理、資源
    的頭像 發(fā)表于 12-17 09:42 ?776次閱讀

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

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

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

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