国产97色在线 | 日韩,97se狠狠狠狠狼鲁亚洲综合色,成l人在线观看线路1,1313午夜精品理论片,成人免费看片又大又黄

Nodejs 實(shí)用工具集筆記(nodejs實(shí)戰(zhàn))

前言

學(xué)了Nodejs一天了,這種異步非阻塞式的編程模型仿佛一下子打破了我的思維模式,總有一種根本不會(huì)編程的感覺。不過從中也確實(shí)讓我獲得了很多寶貴的經(jīng)驗(yàn)。

這里暫且記錄一下學(xué)習(xí)過程中遇到的一些實(shí)用的庫吧,給自己一個(gè)紀(jì)念。

工具列表

supervisor

之前寫PythonFlask或者Django的時(shí)候,一旦修改了源代碼,后臺(tái)調(diào)試服務(wù)器就會(huì)自動(dòng)檢測到變化,然后restart。所以可以直接在瀏覽器上直接刷新看到最新的結(jié)果。而寫了一點(diǎn)點(diǎn)Node代碼的我發(fā)現(xiàn)每次都必須先CTRL C,然后重新運(yùn)行服務(wù)器端代碼,才能看到最新的結(jié)果。

Nodejs只有在第一次引用到某部分時(shí)才回去解析腳本,以后都會(huì)直接訪問內(nèi)存中解析好的腳本文件內(nèi)容。

這在一定程度上確實(shí)提高了性能,但是開發(fā)的時(shí)候真的不是一個(gè)好做法。幸好supervisor就是專門用來解決這個(gè)問題的。

安裝

npm install -g supervisor11

使用

supervisor XX.js11

其實(shí)就是對(duì)node的一個(gè)包裝。比如我寫了一個(gè)簡單的服務(wù)器程序sample.js。

let http = require(\”http\”);function handle_request(req, res) {

正常運(yùn)行的話是

node sample.js11

但是這樣不能實(shí)時(shí)檢測到腳本文件的變化,這時(shí)就可以讓supervisor出場了。

supervisor sample.js11

命令本身也會(huì)給我們很多提示性的內(nèi)容。

Starting child process with \’node sample.js\’Watching directory \’E:CodeNodejslearntools\’ for changes.

不難看出,supervisor啟動(dòng)了一個(gè)子進(jìn)程來處理node腳本,然后本身檢測文件變化,實(shí)時(shí)做處理。

rs命令代表著restarting,即我們可以手動(dòng)的讓服務(wù)器腳本重新啟動(dòng)。


node-inspector

調(diào)試代碼的一款比較好用的在線調(diào)試工具。用戶界面看起來還算不錯(cuò)。

安裝

npm install -g node-inspector11

使用

首先要鏈接待調(diào)試文件。

node –debug-brk=5858 xxx.js11

其中xxx.js就是你要調(diào)試的出錯(cuò)的node文件。

接下來就是啟動(dòng)。

node-inspector11

查看和操作

這時(shí)打開瀏覽器,輸入

http://127.0.0.1:8080/debug?port=585811

即可通過漂亮的UI來執(zhí)行調(diào)試命令了。

如下圖:

Nodejs 實(shí)用工具集筆記(nodejs實(shí)戰(zhàn))

需要注意的是:node-inspector內(nèi)部依賴于webkit,所以只能在以webkit為內(nèi)核的瀏覽器上運(yùn)行。


SuperAgent

類似于Python中的requests, 在Nodejs中也有這么一個(gè)很好用的網(wǎng)絡(luò)請(qǐng)求庫,那就是SuperAgent。下面簡單的來測試一下。

安裝

npm install superagent11

使用

我這邊直接按照自己的理解,寫了一個(gè)post請(qǐng)求方式,來獲取圖靈機(jī)器人接口內(nèi)容的示例。代碼如下:

let superagent = require(\’superagent\’);var posturl = \”http://www.tuling123.com/openapi/api\”;var payload = {

運(yùn)行代碼獲得的信息如下:

POST方式獲取數(shù)據(jù)成果,詳細(xì)信息為:

教程

本來我想自己寫一遍這些基礎(chǔ)的用法的,但是看到了官網(wǎng)的簡介,甚是簡潔,邏輯清晰,示例優(yōu)雅。然后我覺得沒必要重復(fù)造輪子了,下面兩個(gè)鏈接看完之后基本上就能熟練掌握了。

  • 官方版:http://visionmedia.github.io/superagent/

  • 中文版:http://www.jianshu.com/p/98b854322260


cheerio

談到了SuperAgent類似于Python中的requests, 那么在獲取到網(wǎng)頁內(nèi)容之后,解析內(nèi)容的話,在Python中有BeautifulSoup這么個(gè)神器,那么在Nodejs中呢?

答案是cheerio。功能上類似于BeautifulSoup,可以作為一款優(yōu)秀的解析器來使用。

安裝

npm install cheerio11

使用

沒有一個(gè)例子的話,感覺不怎么像回事。下面還是來個(gè)簡單的例子。

/**

執(zhí)行如下命令

node simple-crawl.js11

即可看到如下內(nèi)容。

Nodejs 實(shí)用工具集筆記(nodejs實(shí)戰(zhàn))

教程

為了避免重復(fù)造輪子, 我還是把看到的很經(jīng)典的鏈接放過來吧。相信中英文結(jié)合著看,運(yùn)用BeautifulSoup 和jQuery的思維模式,對(duì)于cheerio 就不在話下了。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。