中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是nodejs

發布時間:2021-09-14 15:30:55 來源:億速云 閱讀:193 作者:柒染 欄目:web開發

什么是nodejs,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

nodejs是一個基于Chrome V8引擎的JavaScript運行環境,一個讓JavaScript運行在服務端的開發平臺,讓腳本語言JavaScript能作為服務器語言。node的優點:超強的高并發能力、使用JavaScript語法等。

本教程操作環境:windows7系統、nodejs 14.15.4版,DELL G3電腦。

Node.js發布于2009年5月,由Ryan Dahl開發,是一個基于Chrome V8引擎的JavaScript運行環境,使用了一個事件驅動、非阻塞式I/O模型, 讓JavaScript 運行在服務端的開發平臺,它讓JavaScript成為與PHP、Python、Perl、Ruby等服務端語言平起平坐的腳本語言。

Node.js對一些特殊用例進行優化,提供替代的API,使得V8在非瀏覽器環境下運行得更好,V8引擎執行Javascript的速度非常快,性能非常好,基于Chrome JavaScript運行時建立的平臺, 用于方便地搭建響應速度快、易于擴展的網絡應用。

Node.js使用Google V8 JavaScript引擎,因為:

  • V8是基于BSD許可證的開源軟件

  • V8速度非常快

  • V8專注于網絡功能,在HTTP、DNS、TCP等方面更加成熟

Node.js的優勢?為什么腳本語言JavaScript能作為服務器語言?

優點 1    Node.js有超強的高并發能力

Node.js的首發目標,是提供一種簡單的,用語創建高性能服務器及在該服務器中運行各種應用程序的開發工具。

相對于Java,PHP或者.net 等經典服務器端語言中,Node.js正像一個年輕力勝的小伙子,Java語言會為每一個客戶端創建一個新的線程,而每一個客戶端連接創建一個線程,需要耗費2MB的內存。也就是說。理論上一個8GB的服務器可以同時連接用戶數為4000個左右,要存在高并發支持更多的用戶,必須要額外增加服務器。

Node.js不為每個客戶連接創建一個新的線程,而僅僅使用一個線程。

這就是Node基于單線程(只有一個主線程去接請求,給響應)

那這不是更慢嗎?事實上,并不是這樣。

Node.js當接收到一個用戶連接,就會觸發一個內部事件。通過事先定義好的函數,達到響應用戶的行為。Node.js主線程并不關心程序要走什么流程,實際上,有另外的工作線程去幫Node主線程去存取文件,讀數據庫,當工作線程讀取到文件數據,或數據庫里面的數據,就會把回調函數返回給Node主線程去執行,例如 把找到的數據傳回客戶端,關閉連接一些操作。(這就是Node非阻塞I/O,基于事件驅動)。

下面附上我畫的一張圖(如有不恰當之處請見諒哈)

什么是nodejs

這時候我們腦袋里面應該有個雛形,就是——Node.js主線程一直在接收請求和響應請求這個活里面倒騰,這樣它就可以不停地接收多個客戶端發過來的請求,它不用傻傻去等待IO操作,IO工作線程找到了數據,就會觸發事件回調函數告訴主線程數據已經拿到了,這時候主線就執行回調函數,把數據返回給客戶端。

理論上,一個8G內存的服務器,可以同時容納3到4萬用戶的連接。

這就是Node的閃光之處(單線程,非阻塞IO,事件驅動)

優點  2  Node用的就是JavaScript的語法

Node.JS 基于 javaScript 的 V8引擎,也就是說只要會JS的語法,就能用于后端開發,但是Node官方推薦用ECMA Script6(ES6)語法 。

Node打破了過去JavaScript只能在瀏覽器運行的局面,讓前后端編程環境統一,這樣就大大降低了開發成本。(這一點對前端開發人員非常友好,JS能做的東西越來越多,前端發展就越來越快)

優點  3  Node.JS 出現促成前端工程化思想

前端最近幾年發展迅速,Node.js起到不可替代的作用。

Node.js不僅僅是運行環境,也是一門脫胎換骨全新的JavaScript語言,它容納了JS語法基礎,還加入一些內部模塊

如:

http用來處理請求響應的模塊

fs   用來讀取文件的模塊

url   用來解析請求數據等等

const http = require('http')

Node.js還集成了 Npm  包管理工具,讓我們可以很方便的通過命令行就能下載我們項目依賴的包

如:

npm install jquery

npm install -g webpack

npm install  -g create-react-app    等等

同樣,只要在項目里面進行引入就能使用

 const  Jquery = require('jquery');

         Node 還支持 自定義模塊語法   ↓↓

const app =()=>{
     //模塊代碼
     
}
module.exports = app;
const app = require('module/app.js');   //引入自定義模塊

        Node.js 在某種層面上影響著前端開發的模式。讓前端工程模塊化,開發迅速,降低代碼耦合度,可維護性大大增強。

Node.js適合做什么?

             下面列舉幾個Node.js應用場景

什么是nodejs

看完上述內容,你們掌握什么是nodejs的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南平市| 公主岭市| 思南县| 衡山县| 柯坪县| 云霄县| 驻马店市| 镇平县| 阿鲁科尔沁旗| 西平县| 大庆市| 沿河| 东山县| 嘉祥县| 新源县| 凤凰县| 全椒县| 宜兰市| 金山区| 远安县| 申扎县| 洛南县| 房产| 高清| 焉耆| 卢龙县| 河曲县| 江山市| 怀集县| 平乐县| 齐河县| 任丘市| 策勒县| 宾川县| 漳州市| 津南区| 嘉鱼县| 阜新市| 墨脱县| 嵊泗县| 金沙县|