欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

什么是節(jié)點?特定于節(jié)點的功能

了解 Node.js,這是一個用于構(gòu)建服務(wù)器端或桌面應(yīng)用程序JavaScript 運行時。

JavaScript 和 Node.js

Javascript 自 1995 年以來就已經(jīng)存在,并已成為 Web 開發(fā)的主要語言。在其生命的大部分時間里,JavaScript 主要用于<script>在 Web 瀏覽器中執(zhí)行的標(biāo)簽內(nèi)的客戶端腳本。這種限制意味著開發(fā)人員經(jīng)常在 Web 應(yīng)用程序的前端(客戶端)和后端(服務(wù)器端)方面使用多種不同的語言和框架工作。

什么是節(jié)點?特定于節(jié)點的功能

盡管還有其他項目將 JavaScript 引入服務(wù)器端應(yīng)用程序,但隨著 2009 年 Node.js 的推出,該功能開始發(fā)揮作用。Node 允許開發(fā)人員編寫直接在計算機進(jìn)程本身而不是瀏覽器中運行的 JavaScript 代碼。因此,Node 可用于編寫服務(wù)器端應(yīng)用程序,以訪問操作系統(tǒng)、文件系統(tǒng)以及構(gòu)建全功能應(yīng)用程序所需的一切。

Node.js 是用 C、C++ 和 JavaScript 編寫的,它建立在開源V8?JavaScript 引擎之上,該引擎還支持 Google Chrome 等瀏覽器中的 JS。由于 V8 支持 JavaScript 中的新功能,它們被合并到 Node.js 中。

特定于節(jié)點的功能

全局變量

Node 提供對幾個重要的全局對象的訪問,以便與 Node 程序文件一起使用。在編寫將在 Node 環(huán)境中運行的文件時,這些變量將可以在文件的全局范圍內(nèi)訪問。

  • module是一個對象,指的是將從文件中導(dǎo)出的功能。在 Node 中,每個文件都被視為一個模塊。
  • require()是用于從其他文件或 Node 包中導(dǎo)入模塊的函數(shù)。
  • process是一個引用運行 Node 程序的實際計算機進(jìn)程的對象,并允許訪問命令行參數(shù)等等。

模塊

Node 有許多內(nèi)置模塊來幫助與命令行、計算機文件系統(tǒng)和 Internet 進(jìn)行交互。這些包括

  • 用于創(chuàng)建 Web 服務(wù)器的HTTP和HTTPS 。
  • File SystemOSPath用于與文件系統(tǒng)、操作系統(tǒng)和文件/目錄路徑進(jìn)行交互。

您可以查看完整文檔以了解更多 Node 的內(nèi)置功能。

為什么是節(jié)點?

根據(jù)Node.js 主頁,Node “使用事件驅(qū)動的非阻塞 I/O 模型”。實際上,這意味著 Node 可以很好地處理異步 JavaScript 代碼以執(zhí)行許多異步活動,例如讀取和寫入文件系統(tǒng)、處理與數(shù)據(jù)庫服務(wù)器的連接或作為 Web 服務(wù)器處理請求。

為了處理異步代碼,Node 使用基于回調(diào)的系統(tǒng)。將實現(xiàn)一些異步活動的節(jié)點函數(shù)和方法采用回調(diào)函數(shù)。只要異步操作已解決,就會調(diào)用此回調(diào)。按照慣例,此回調(diào)的第一個參數(shù)是錯誤占位符。如果異步操作發(fā)生錯誤(例如,試圖讀取不存在的文件),則錯誤參數(shù)將是一個錯誤對象,但null如果沒有發(fā)生錯誤,它將是一個錯誤對象。

常量fs =要求( 'fs' ) ;
FS readFile './script.js' 函數(shù)錯誤數(shù)據(jù){
// 如果沒有發(fā)生錯誤,則錯誤為 null,但如果發(fā)生錯誤,則為 Error 對象
如果錯誤{
拋出錯誤
}
// 如果沒有拋出錯誤,文件數(shù)據(jù)將被傳遞到回調(diào)中
控制臺日志數(shù)據(jù)
} ) ;

在這個例子中,我們使用 Node 的內(nèi)置fs模塊來讀取script.js文件。文件讀取操作完成后調(diào)用回調(diào)函數(shù)。如果發(fā)生錯誤,它將被傳入error并拋出。如果不存在,則從文件讀取操作中檢索到的數(shù)據(jù)將記錄到控制臺。

如何使用節(jié)點

該視頻將向您展示如何下載和安裝 Node.js。

要在 Node 中運行 JS 文件,node后跟文件路徑的命令將執(zhí)行程序文件。

例如,如果我們將以下內(nèi)容保存在文件script.js中:

控制臺log ( '我是一個 Node 程序' ) ;

在與script.jsnode script.js相同的文件夾中運行終端命令將啟動 Node,打印到終端窗口,然后退出,因為腳本文件已完成執(zhí)行。I am a Node program

節(jié)點作為 REPL

Node 也可以在終端窗口中用作 Read-Evaluate-Print-Loop 或 REPL。此功能允許您從命令行執(zhí)行 JavaScript 命令。

安裝 Node 后,您可以通過node在終端中運行命令并按來啟動 REPL?Enter。您現(xiàn)在處于交互式 JavaScript 環(huán)境中,可以運行任何有效的 JavaScript 代碼,例如4 + 5.?執(zhí)行命令后,Node 將始終打印該評估的結(jié)果。

$節(jié)點
> 4 + 5
9
> 函數(shù) nodeIsGreat() {
... console.log('節(jié)點很棒!');
... }
不明確的
> 節(jié)點偉大()
節(jié)點很棒!
不明確的
> .退出
$

node在此示例中,用戶使用終端命令在第一行啟動節(jié)點。在第 2 行,用戶鍵入4 + 5并使用返回鍵進(jìn)行評估。9打印到輸出終端。

在第 4 行,用戶打開nodeIsGreat.?因為這個函數(shù)聲明需要多行,Node REPL 將...在一行的開頭打印以表明它仍在讀取用戶的輸入語句并且尚未評估。在第 6 行關(guān)閉函數(shù)聲明后,undefined打印到輸出終端,因為函數(shù)聲明本身不計算任何值。在第 8 行調(diào)用該函數(shù)時,Node is great!記錄到控制臺,并undefined在之后記錄,因為nodeIsGreat()返回undefined.

要退出 Node REPL,請.exit隨時使用該命令并返回到系統(tǒng) shell。按ctrl+c兩次也將退出。

加載現(xiàn)有文件

Node REPL 還可以加載現(xiàn)有的 JS 文件。如果我們將以下代碼保存到script.js中:

var a = 'Node REPL 很有趣!' ;

我們可以使用.load它來將它加載到 REPL 中。.load接受一個路徑參數(shù),所以要加載script.js?,我們將使用.load ./script.js.

$節(jié)點
> .load ./script.js
var a = 'Node REPL 很有趣!';
> 一個
“節(jié)點 REPL 很有趣!”

加載腳本文件后,變量可以在 REPL 中訪問,因此當(dāng)我們評估a變量時,它的值已通過加載script.js設(shè)置,并且“節(jié)點 REPL 很有趣!”?打印到控制臺。

通過在終端中運行自己嘗試一下,node或者查看REPL 文檔以獲取更多功能。

包管理

Node 包是在 Node 開發(fā)人員之間共享模塊的便捷方式。服務(wù)npm是 Node 的默認(rèn)包管理器,它附帶了 Node 的安裝。

npm 允許訪問數(shù)十萬個可用的開源包。

除了 npm,yarn作為另一個 JS 包管理器越來越受歡迎。

要了解更多信息并查看 npm 的實際應(yīng)用,請參加我們的瀏覽器兼容性和轉(zhuǎn)譯課程。

節(jié)點版本

Node 的主要版本旨在支持最新的 JavaScript 功能,包括 ES6/ES2015 及更高版本,無需轉(zhuǎn)譯。要查看不同版本支持的 JavaScript 功能列表,請訪問node.green

版本管理

與任何主要的軟件版本一樣,頂級 Node 版本(8.x、7x 等)有時會在舊版本環(huán)境中構(gòu)建的應(yīng)用程序中引入重大更改。版本管理器可用于在單臺計算機上的多個 Node 版本之間切換。有兩個版本管理器提供此功能:nvm(節(jié)點版本管理器)n。N 可以很容易地安裝為 npm 包!

文章鏈接: http://m.qzkangyuan.com/8177.html

文章標(biāo)題:什么是節(jié)點?特定于節(jié)點的功能

文章版權(quán):夢飛科技所發(fā)布的內(nèi)容,部分為原創(chuàng)文章,轉(zhuǎn)載請注明來源,網(wǎng)絡(luò)轉(zhuǎn)載文章如有侵權(quán)請聯(lián)系我們!

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
IDC云庫

通過托管數(shù)據(jù)中心合規(guī)性創(chuàng)造客戶價值

2022-7-7 10:27:48

IDC云庫

擁抱多云復(fù)雜性以獲得競爭優(yōu)勢

2022-7-7 11:38:04

0 條回復(fù) A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 淳安县| 甘谷县| 崇州市| 鹤峰县| 伽师县| 日照市| 醴陵市| 易门县| 靖远县| 石景山区| 武乡县| 富源县| 庆元县| 盐山县| 茂名市| 育儿| 姜堰市| 永宁县| 双鸭山市| 剑川县| 辽阳市| 沈丘县| 孟连| 怀安县| 兴城市| 绥化市| 崇义县| 五华县| 乐业县| 佛冈县| 桃源县| 庆云县| 洞口县| 嘉鱼县| 三明市| 望都县| 监利县| 朝阳县| 延安市| 盱眙县| 互助|