国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > node是什么?

node是什么?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-11 14:52:29 1697007149

一、node是什么

node也指Node.js,是一個(gè)基于Chrome V8引擎的JavaScript運(yùn)行環(huán)境。Node.js使用了一個(gè)事件驅(qū)動(dòng)的、非阻塞式I/O的模型,輕量又高效,它的底層是用C/C++編寫的。Node.js 最初的定位是提升 Ryan 自己的日常工作效率,也就是用來(lái)寫服務(wù)器代碼的。

先說(shuō)幾句 Node.js 在服務(wù)器端的發(fā)展。Node.js 的誕生帶給人們的是個(gè)大大的驚喜,傳統(tǒng)上 Web 開發(fā)者,前端用 JS 寫,但是寫服務(wù)器端代碼的時(shí)候還必須用另外一種語(yǔ)言,類似 Ruby/Java/PHP 等。但是 Node.js 出現(xiàn)之后,JS 前后通吃了。如果去網(wǎng)上搜 Node.js 的資料,很多都是用 Node.js 去寫服務(wù)器代碼的。

但是,Node.js 今天也成為了 Web 前端開發(fā)必不可少的基礎(chǔ)設(shè)施。注意,Web 前端的 JS 代碼最終還是運(yùn)行在瀏覽器中的,所以運(yùn)行的時(shí)候,或者說(shuō)在產(chǎn)品環(huán)境下,不依賴于 Node.js 。但是,Node.js 誕生以后,前端大爆發(fā),類似 React/Vuejs 這樣的前端框架的開發(fā)環(huán)境變得非常強(qiáng)大和負(fù)責(zé),Node.js 是這些開發(fā)環(huán)境運(yùn)行的基礎(chǔ)。

接下來(lái),演示一下 Nodejs 中如何運(yùn)行 JS 代碼。

以前 JS 只能運(yùn)行在瀏覽器中,Node.js 出現(xiàn)之后,不管是服務(wù)器上,還是我們自己的的筆記本上,只要安裝了 Node.js 就可以運(yùn)行 JS 代碼了。假設(shè),咱們已經(jīng)安裝好了 Node.js ,那么進(jìn)入命令行,

node

執(zhí)行 node 命令,就可以進(jìn)入 Node.js 的交互環(huán)境。

1 + 1

執(zhí)行加法操作,回車,就可以看到代碼正確執(zhí)行了。Ctrl-D 可以退出這個(gè)交互環(huán)境。

但是更為常見的一種執(zhí)行方式,是把把代碼寫入到一個(gè)文件中。

app.js

console.log(“hello”);

然后這樣來(lái)在命令行中執(zhí)行

node app.js

就可以看到 hello 被打印出來(lái)了,而這樣過(guò)程跟瀏覽器沒有一毛錢關(guān)系。

另外有一點(diǎn)是要特別注意的。Node.js 和瀏覽器是不同的環(huán)境,是有著很多細(xì)小的差異的。首先,二者各自包含的全局變量不同。document 對(duì)象是用來(lái)操作頁(yè)面的,所以只有瀏覽器環(huán)境下才可以直接使用。但是如果是要放到 Node.js 環(huán)境下運(yùn)行代碼,就不要使用 document 。同樣的道理,Node.js 中可以直接拿來(lái)使用的 http 對(duì)象,在瀏覽器環(huán)境下就沒有。其次,Node.js 和瀏覽器對(duì) ES6 新特性的支持程度也是不同的,這一點(diǎn)也要注意。

延伸閱讀:

二、npm是什么

Node.js 引發(fā)了前后端開發(fā)的爆發(fā),尤其是前端。 JS 開發(fā)者眾多,所以貢獻(xiàn)開源代碼的人就非常多,所有這些凝結(jié)成了npm 這個(gè)世界上最大的軟件包倉(cāng)庫(kù)。

npm 是 Node Package Manager 的縮寫,意思是 Node 的包管理系統(tǒng)。Nodejs 現(xiàn)在如日中天,其中 npm這個(gè)功不可沒。在這里,我們要實(shí)現(xiàn)各種功能幾乎都能找到現(xiàn)成的別人寫好的包,直接拿了用就好了。

很多 npm 包都對(duì)應(yīng)一個(gè) Github 項(xiàng)目,但是如果只有代碼,那么使用起來(lái)還不是特別方便。而當(dāng)系統(tǒng)上安裝好了Node.js之后,就會(huì)配套安裝一個(gè)命令,叫做 npm 。

npm install moment

執(zhí)行npm install moment就可以把moment這個(gè)包從npm的軟件包倉(cāng)庫(kù)中下載這個(gè)包,然后安裝到本地了。而 npm 的軟件包倉(cāng)庫(kù)中,有數(shù)以萬(wàn)計(jì)的 moment 這樣的包。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
PHP與JAVA的本質(zhì)區(qū)別有哪些?

一、PHP與JAVA的本質(zhì)區(qū)別1、應(yīng)用場(chǎng)景不同PHP通常用于Web開發(fā),而Java則可以應(yīng)用于各種領(lǐng)域,包括Web、桌面、移動(dòng)等。2、編程范式不同PHP支持面...詳情>>

2023-10-11 16:08:19
redis、memcache、mongoDB有哪些區(qū)別?

一、redis、memcache、mongoDB的區(qū)別1、數(shù)據(jù)模型不同Redis是一種基于鍵值對(duì)的內(nèi)存數(shù)據(jù)庫(kù),可以支持多種數(shù)據(jù)結(jié)構(gòu),如字符串、哈希、列表、集合、...詳情>>

2023-10-11 16:00:30
AOP的原理是什么?

一、AOP的原理1、切面(Aspect)切面是橫切關(guān)注點(diǎn)的抽象,它定義了橫切關(guān)注點(diǎn)在何時(shí)、何地和如何被織入到程序中。切面通常以類或者方法的形式存...詳情>>

2023-10-11 15:58:09
什么是linux進(jìn)程?

一、什么是linux進(jìn)程Linux進(jìn)程是指在Linux操作系統(tǒng)上運(yùn)行的程序?qū)嵗_M(jìn)程是操作系統(tǒng)中最基本的資源之一,每個(gè)進(jìn)程都具有自己的代碼、數(shù)據(jù)、內(nèi)...詳情>>

2023-10-11 15:47:54
為什么SwiftUI用struct來(lái)表示view?

一、SwiftUI用struct來(lái)表示view的原因首先,涉及一個(gè)性能原理:結(jié)構(gòu)體比類更簡(jiǎn)單,更輕量。之所以名列前茅個(gè)說(shuō)這個(gè)原因,是因?yàn)榇蠖鄶?shù)都認(rèn)為這...詳情>>

2023-10-11 15:35:43