在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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應用程序的進程管理。

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

    關注

    13

    文章

    9702

    瀏覽量

    87319
  • JAVA
    +關注

    關注

    20

    文章

    2985

    瀏覽量

    106942
  • 編程語言
    +關注

    關注

    10

    文章

    1955

    瀏覽量

    36138
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    HarmonyOS5云服務技術分享--ArkTS開發Node環境

    ? 你好呀,開發者小伙伴們!今天我們來聊聊如何在HarmonyOS(ArkTS API 9及以上)中玩轉云函數,特別是結合Node.js和HTTP觸發器的開發技巧。文章會手把手帶你從零開始,用最接地
    發表于 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\' 我應該使用
    發表于 04-10 07:37

    在樹莓派上構建和部署 Node.js 項目

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

    硬件系統工程師寶典—完整版

    資料介紹: 這是一本硬件工程師必備書,介紹了硬件工程師所必須的一些知識,例如EMC、SI、PI等知識,讓你將學習過的硬件知識融會貫通。
    發表于 03-22 15:47

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

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

    研華KB Insight智能知識管理工具加速工業智能化

    為應對新型工業化進程中“經驗未數字化”與“數據未業務化”的雙重困局,研華 IoTSuite 工業物聯網平臺 & AIoT 數智應用開發工具包全新發布又一利器—— KB Insight 智能知識管理工具,助力企業知識資產的智能應用。
    的頭像 發表于 03-10 10:18 ?477次閱讀

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

    隨著大數據、云計算等新興技術的不斷發展,數據的規模呈指數級增長。在這樣的背景下,批量管理工具的價值愈發凸顯,它成為了我們在數據管理領域的重要利器。今天就為大家介紹Hyper管理器:
    的頭像 發表于 02-08 09:57 ?846次閱讀
    hyper<b class='flag-5'>管理</b>器,Hyper<b class='flag-5'>管理</b>器:<b class='flag-5'>管理工具</b>使用指南

    Bun 1.2震撼發布:全力挑戰Node.js生態的JavaScript運行時新星

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

    OpenAI為ChatGPT推出測試版任務管理工具

    近日,OpenAI宣布了一項針對其旗下人工智能聊天機器人ChatGPT的新功能——“任務”測試版。這一功能旨在為用戶提供一個便捷的任務管理工具,類似于蘋果Siri和亞馬遜Alexa所扮演的角色。 據
    的頭像 發表于 01-17 10:02 ?476次閱讀

    Flexus X 實例安裝 ShowDoc 文檔管理工具

    ShowDoc 文檔管理工具,開啟高效協作之旅。 一、Flexus 云服務器 X 實例介紹 1.1 Flexus 云服務器 X 實例簡介 華為云 Flexus 云服務器 X 實例官網:Flexus云服務器X實例
    的頭像 發表于 01-13 15:51 ?385次閱讀
    Flexus X 實例安裝 ShowDoc 文檔<b class='flag-5'>管理工具</b>

    ADI電源管理工具推薦

    ADI 提供了一整套電源管理工具,幫助您一次性正確設計電源解決方案。ADI 的電源管理工具支持從零件推薦到性能估算、實用的電源樹設計、電路仿真和系統級優化的整個設計過程。探索這些免費且強大的工具
    的頭像 發表于 12-23 09:46 ?780次閱讀

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

    項目管理和調試。IAR Embedded Workbench 也是廣受歡迎的 IDE,具有出色的優化能力和調試工具,能夠幫助工程師快速開發出高質量的嵌入式軟件。 二、編譯器 編譯器將高級語言
    發表于 12-20 15:29

    cmp項目管理工具的優缺點

    CMP項目管理工具,在不同的語境下有不同的含義。一種是指綜合項目管理平臺(Comprehensive Management Platform),它旨在整合和優化項目的各個方面,包括時間管理、資源
    的頭像 發表于 12-17 09:42 ?725次閱讀

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

    便捷。但是隨著JavaScript影響力不斷壯大,它的使用范圍已經發生了變化。2009年,Node.js發布,初代版本支持基本的網絡通信和文件系統操作,這讓JavaScript可以到服務器上大展拳腳
    的頭像 發表于 11-23 15:37 ?366次閱讀
    <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 ?1592次閱讀
    硬件<b class='flag-5'>工程師</b>找工作<b class='flag-5'>必備</b>書籍推薦
    主站蜘蛛池模板: 手机在线你懂得 | 韩国精品videosex性韩国 | 国模私拍一区二区三区 | 人人艹人人干 | 国产一区中文字幕在线观看 | 欧美国产一区二区二区 | 久久久久99精品成人片三人毛片 | 黄色一级毛片看一级毛片 | 在线女同免费观看网站 | 天天操夜夜干 | 好男人社区www的视频免费 | 精品欧美一区二区三区 | 久久这里只有精品免费播放 | 高清一本之道加勒比在线 | 久久夜色精品 | 国产美女精品一区二区三区 | 欧美一级看片免费观看视频在线 | 欧美黄色片网站 | 亚洲成a人片777777久久 | 亚洲第一永久在线观看 | 天天操夜夜操免费视频 | 深爱激情五月婷婷 | 国产女在线 | 丁香婷婷在线 | 免费一级毛片正在播放 | 毛片网子| 精品国产午夜久久久久九九 | 视频一本大道香蕉久在线播放 | 视频一区亚洲 | 2021久久精品国产99国产精品 | bt天堂资源在线种子 | 色老成人精品视频在线观看 | 午夜高清免费观看视频 | 又大又粗进出白浆直流动态图 | 国产精品手机在线 | www.天天射| 色一区二区 | 日本xxxxxxxxx69| 欧美97色| 激情五月综合 | 国产人成高清视频观看 |