最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

初探nodeJS

 更新時(shí)間:2017年01月24日 10:38:10   作者:猴子  
本文主要介紹了nodeJS的基礎(chǔ)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧

一、node概要

對(duì)nodeJS早有耳聞,但是一直遲遲沒(méi)有對(duì)它下手,哈哈哈,今兒咱就來(lái)初探一下它。

nodeJS是個(gè)啥東東?

nodeJS,我的理解就是可以運(yùn)行在后端的JavaScript。

為什么它能夠在后端運(yùn)行呢?

這就得歸功于V8引擎(V8是Google Chrome瀏覽器的JavaScript引擎),通過(guò)對(duì)高性能V8引擎的封裝,并通過(guò)一系列優(yōu)化的API類(lèi)庫(kù),使其就能夠在后端運(yùn)行了。

并且node有兩大特點(diǎn):

 1、基于事件驅(qū)動(dòng);

 2、無(wú)阻塞。

從而nodeJS非常適合處理并發(fā)請(qǐng)求。

大家都知道nodeJS其本質(zhì)就是JavaScript,so基于事件驅(qū)動(dòng)不難理解,但是無(wú)阻塞呢?

JavaScript是單線(xiàn)程,所以要做到無(wú)阻塞,node是通過(guò)大量的回調(diào)函數(shù)來(lái)達(dá)到這一目的。

好了,廢話(huà)不多說(shuō)了。接下來(lái)咱們就開(kāi)始初步體驗(yàn)它。

二、Install node&npm

因?yàn)閚odeJS是后端運(yùn)行的JavaScript嘛,so得有個(gè)運(yùn)行環(huán)境啊。不過(guò)安裝nodeJS的環(huán)境比較簡(jiǎn)單,具體步驟見(jiàn)下:

1、首先到官網(wǎng)下載nodeJS安裝包。

在官網(wǎng)中,也能看見(jiàn)官方對(duì)nodeJS的一個(gè)描述:

Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm , is the largest ecosystem of open source libraries in the world.

2、在下載完安裝包后,在windows下按照默認(rèn)程序走就歐克啦。

3、檢驗(yàn)是否安裝成功,在Windows環(huán)境下,打開(kāi)命令提示符,輸入node – v,如果正常就會(huì)出現(xiàn)版本號(hào)的輸出。

如下:

在官方介紹中,不是說(shuō)到npm(Node.js' package ecosystem, npm , is the largest ecosystem of open source libraries in the world.)嘛,其實(shí)npm在你安裝nodeJS時(shí),就一帶幫你安裝了。

不信,咱就在命令提示符中輸入npm –v看看。

如下:

好了,node開(kāi)發(fā)環(huán)境就這么完美的‘搭建'好了,哈哈,是不是很簡(jiǎn)單。

接下來(lái),我們就開(kāi)始敲打第一個(gè)node程序吧。

三、Get started

一切從"hello world"開(kāi)始,畢竟我們都是有情懷的人。

簡(jiǎn)單的嘛,我們就在命令提示符下,敲打我們的程序,你只需輸入node,然后回車(chē)就可以進(jìn)入node在命令提示符下的交互環(huán)境了。

如下:

進(jìn)入node交互環(huán)境后,敲到"hello world"字符串后回車(chē)。

結(jié)果如下:

倘若我們想退出node的這個(gè)交互環(huán)境,就Ctrl + C,連按兩次就退出回到windows命令符啦。

如下:

如果要在node的這個(gè)交互環(huán)境下編程的話(huà),太大費(fèi)周章了,所以,我們可以引入js文件來(lái)執(zhí)行,例如下面這樣。

前提:你得有一個(gè)js文件。

我將這個(gè)js(helloWorld.js)文件放在D盤(pán)的,so運(yùn)行結(jié)果如下:

'use strict'
console.log('Hello world');

哈,有點(diǎn)意思哈。

不是說(shuō)nodeJS是運(yùn)行在后端的JavaScript嘛。接下來(lái),我們就用nodeJS來(lái)開(kāi)發(fā)一個(gè)最簡(jiǎn)單的服務(wù)器程序。

四、Node for server

前提:nodeJS是遵循CommonJS規(guī)范的。

即,

每個(gè).js文件都是一個(gè)模塊,模塊的好處就是避免命名空間污染。倘若你想讓一個(gè)模塊對(duì)外暴露變量,可以用module.exports  =  variable;

而一個(gè)模塊想要引用另一個(gè)模塊對(duì)外暴露的變量,用require關(guān)鍵字就可以了,如var ref = require(‘module_name');

好了,簡(jiǎn)單的知道了nodeJS的運(yùn)用規(guī)則,那么我們想要編寫(xiě)一個(gè)http服務(wù)器,就得先引入這個(gè)模塊。

如下:

接下來(lái)就是調(diào)用引入的HTTP模塊的一個(gè)工廠模式方法(createServer)來(lái)創(chuàng)建一個(gè)新的http服務(wù)器。

如下:

由于nodeJS的特性之一是事件驅(qū)動(dòng),so當(dāng)我們?cè)L問(wèn)一個(gè)http服務(wù)器時(shí),它會(huì)觸發(fā)一個(gè)request事件,我們利用其進(jìn)行相應(yīng)處理。

例如,我們的處理方式是,利用writeHead來(lái)設(shè)置HTTP的響應(yīng)頭和HTTP正文。

具體代碼如下:

最后,就是想監(jiān)聽(tīng)的端口號(hào)咯。比如我們監(jiān)聽(tīng)的是80端口。

代碼以及很完美了,但,為了方便在nodeJS交互環(huán)境下運(yùn)行該js文件后,知道服務(wù)器已經(jīng)啟好了,我們還是打印一條日志吧。

如下:

'use strict'
//通過(guò)require將http庫(kù)包含到程序中
var http = require('http');
//創(chuàng)建新的HTTP服務(wù)器
var server = http.createServer();
//通過(guò)request事件來(lái)響應(yīng)request請(qǐng)求
server.on('request',function(req, res){
  res.writeHead(200, {'Content-Type':'text/plain'});
  res.end('Hell World\n');  
});
server.listen('80');
console.log('Server running!');
EntireCode

好了,開(kāi)啟nodeJS交互環(huán)境,運(yùn)行該js文件,我的命名是http.js。

so:

這樣http服務(wù)器就啟好了,接下來(lái)我們?cè)俅蜷_(kāi)網(wǎng)頁(yè),輸入127.0.0.1:80,看看效果:

good??!有木有一點(diǎn)小小的激動(dòng),這樣就把http服務(wù)器啟好并運(yùn)行起來(lái)了。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • nodejs各種姿勢(shì)斷點(diǎn)調(diào)試的方法

    nodejs各種姿勢(shì)斷點(diǎn)調(diào)試的方法

    這篇文章主要介紹了nodejs各種姿勢(shì)斷點(diǎn)調(diào)試的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Nodejs學(xué)習(xí)筆記之入門(mén)篇

    Nodejs學(xué)習(xí)筆記之入門(mén)篇

    本系列教程致力于教會(huì)你如何用Node.js來(lái)開(kāi)發(fā)應(yīng)用,過(guò)程中會(huì)傳授你所有所需的“高級(jí)”JavaScript知識(shí)。絕不是一篇“Hello World”的教程。
    2015-04-04
  • node.js實(shí)現(xiàn)復(fù)制文本到剪切板的功能

    node.js實(shí)現(xiàn)復(fù)制文本到剪切板的功能

    這篇文章主要給大家介紹了node.js實(shí)現(xiàn)復(fù)制文本到剪切板的功能,文中介紹的非常詳細(xì),并給出示例代碼,相信對(duì)大家具有一定的參考借鑒價(jià)值,有需要的朋友們下面來(lái)一起看看吧。
    2017-01-01
  • 深入nodejs中流(stream)的理解

    深入nodejs中流(stream)的理解

    本篇文章主要介紹了深入nodejs中流(stream)的理解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • Node.js使用WebAssembly

    Node.js使用WebAssembly

    本文主要介紹了Node.js使用WebAssembly,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Node.js前后端交互實(shí)現(xiàn)用戶(hù)登陸的實(shí)踐

    Node.js前后端交互實(shí)現(xiàn)用戶(hù)登陸的實(shí)踐

    本文主要介紹了Node.js前后端交互實(shí)現(xiàn)用戶(hù)登陸的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Node.js和MongoDB實(shí)現(xiàn)簡(jiǎn)單日志分析系統(tǒng)

    Node.js和MongoDB實(shí)現(xiàn)簡(jiǎn)單日志分析系統(tǒng)

    這篇文章主要介紹了Node.js和MongoDB實(shí)現(xiàn)簡(jiǎn)單日志分析系統(tǒng),本文給出了服務(wù)器端、客戶(hù)端、圖表生成、Shell自動(dòng)執(zhí)行等功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • node.js處理前端提交的GET請(qǐng)求

    node.js處理前端提交的GET請(qǐng)求

    這篇文章主要為大家詳細(xì)介紹了node.js處理前端提交的GET請(qǐng)求,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • node.js實(shí)現(xiàn)爬蟲(chóng)教程

    node.js實(shí)現(xiàn)爬蟲(chóng)教程

    這篇文章主要為大家介紹了node.js基礎(chǔ)模塊http、網(wǎng)頁(yè)分析工具cherrio實(shí)現(xiàn)爬蟲(chóng)的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 詳解Node.js中單線(xiàn)程限制的有效解決方法

    詳解Node.js中單線(xiàn)程限制的有效解決方法

    Node.js?是一個(gè)基于事件驅(qū)動(dòng)、非阻塞?I/O?模型的?JavaScript?運(yùn)行時(shí)環(huán)境,特別適合構(gòu)建高并發(fā)的網(wǎng)絡(luò)應(yīng)用,本文介紹了幾種解決?Node.js單線(xiàn)程限制的方法,希望對(duì)大家有所幫助
    2024-12-12

最新評(píng)論

香河县| 高陵县| 霍城县| 洮南市| 赤城县| 海安县| 荣昌县| 河间市| 凉城县| 澄城县| 古浪县| 汽车| 昭苏县| 沙田区| 石首市| 封开县| 东辽县| 垫江县| 望奎县| 寿阳县| 抚顺县| 乐至县| 诏安县| 墨竹工卡县| 绿春县| 洛川县| 灌南县| 县级市| 略阳县| 林口县| 昌平区| 滕州市| 兴义市| 小金县| 宝应县| 栾城县| 仁布县| 遂昌县| 尤溪县| 新乡市| 黄浦区|