精心整理Node.js入门---原理篇
咱們前端這么多技術(shù),上手容易,但是搞清楚原理不太簡(jiǎn)單呀,而我偏偏強(qiáng)迫癥,不喜歡一頭霧水的使用某個(gè)技術(shù),某行代碼,所以在之前學(xué)習(xí)node的時(shí)候研究了一點(diǎn)東西,梳理了一下趁著這次整理,一齊放上來
先來段入門的文件讀寫練練手再開講
- 讀取文件(fs)
1、fs模塊是系統(tǒng)模塊,叫文件系統(tǒng), FileSystem用來操作本地文件,原生js做不到。
2、文件系統(tǒng)的寫讀nodejs/js都有一個(gè)異步的回調(diào)機(jī)制。
3、nodejs 錯(cuò)誤優(yōu)先機(jī)制,在nodejs 中大部分模塊的回調(diào)函數(shù)中,第一個(gè)參數(shù)為異常信
息。
4、二進(jìn)制流轉(zhuǎn)換成字符串toString。
- 文件夾操作—自己創(chuàng)模塊
注意路徑問題:
如果沒有加相對(duì)路徑默認(rèn)Mnodejs系統(tǒng)模塊中查找,然后查找當(dāng)前項(xiàng)目中的node_ modules眼然后報(bào)錯(cuò)
- 文件夾操作–創(chuàng)建文件夾
- 如何安裝第三方模塊來使用
- 1. 網(wǎng)絡(luò)請(qǐng)求axios
直接npm安裝就能用,安裝后可以發(fā)送各種網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)然后放在某個(gè)地方直接用。axios使一 個(gè)http可以用在瀏覽器端和nodejs端,如果在瀏覽器里使用,可以根據(jù)當(dāng)前使用環(huán)境調(diào)用瀏覽器里發(fā)網(wǎng)絡(luò)請(qǐng)求的底層插件(底層API)叫XmlHttpRequest模塊,如果在nodejs使用, 會(huì)調(diào)用nodejs 里的http模塊,這個(gè)是插件自己封裝好的。
1、axios發(fā)起網(wǎng)絡(luò)請(qǐng)求,發(fā)完之后把數(shù)據(jù)存在一個(gè)文件里
2、get取數(shù)據(jù)然后直接展示出來或者存在文件里 - 2. 數(shù)據(jù)截取cheerio
如何抓取網(wǎng)頁里面的詳細(xì)內(nèi)容,目的是做- -些假數(shù)據(jù),讓網(wǎng)站看起來不太假,手寫太累,用爬蟲,數(shù)據(jù)采集。
cheerio可以在nodejs中使用,用來解析htmL 內(nèi)容–做爬蟲
說到node,必須來說下,如何通過express快速搭建一個(gè)服務(wù)器
搭建完成,已經(jīng)可以通過輸入網(wǎng)址發(fā)出get請(qǐng)求, post請(qǐng)求了, 要知道(請(qǐng)求地址,回調(diào)函數(shù))。
那么客戶端如何向服務(wù)器調(diào)接口發(fā)請(qǐng)求的呢
延伸原理來咯
- Part 1
通信協(xié)議(TCP/IP HTTP等),計(jì)算機(jī)里看得見的看不見的都有協(xié)議》 ISO 國際標(biāo)準(zhǔn)化組織,分成不同層次,七層模型,OSI/RM 開放系統(tǒng)互聯(lián)/參考模型
物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層
》TCP/IP 四層模型
網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層
》利用下一層為上一層提供服務(wù)
》IP TCP 傳輸控制協(xié)議 HTTP 超文本傳輸協(xié)議
》TCP三次握手,保證端到端的可靠連接,UDP用戶數(shù)據(jù)報(bào)協(xié)議,不可卡片的鏈接
》HTTP 無狀態(tài)協(xié)議,有請(qǐng)求來了就去響應(yīng)就完事了 - Part 2
務(wù)器才正式開始傳送數(shù)據(jù)。
是TCP協(xié)議族中的一種,默認(rèn)使用TCP 80端口。
全,需要到ca申請(qǐng)證書,需要一定費(fèi)用,以安全為目標(biāo)。
- Part 3
既然說到端口了,那就來說下常用端口號(hào)
IIS (HTTP) : 80
SQL Server: 1433
Oracle: 1521
MySQL: 3306
FTP: 20/21
MongoDB: 27017
SSH: 22
Tomcat: 8080
https: 443
發(fā)請(qǐng)求的方法都啥呢、其中g(shù)et和post啥區(qū)別呢
當(dāng)時(shí)我也查了查,打下的江山在此截圖奉上
小問題,向服務(wù)器發(fā)起請(qǐng)求都有啥常見情形呢
繼續(xù)我們的node入門之客戶端渲染和服務(wù)端渲染的區(qū)別
SSR 和 B( C )SR
- SSR
Server side Render服務(wù)器渲染,所有的頁面生成都在服務(wù)器端實(shí)現(xiàn)。 - B( C )SR
Browser(Client) Side Render 瀏覽器(客戶端)渲染,客戶端向服務(wù)器發(fā)起請(qǐng)求,服務(wù)器端返回?cái)?shù)據(jù)給客戶端,客戶端實(shí)現(xiàn)頁面拼接顯示。 - 哪一個(gè)更好?
沒有哪個(gè)更好,服務(wù)器只負(fù)責(zé)給數(shù)據(jù),服務(wù)器端的壓力分擔(dān)給客戶端,這是優(yōu)點(diǎn),缺點(diǎn)是客戶端會(huì)多次請(qǐng)求
想了想還是簡(jiǎn)單介紹下路由吧,畢竟咱是個(gè)完整的入門介紹
沒看懂上面一段?往下看,看完下面的白話,再回去品上面的這段,你品,你細(xì)品~
OVER~
總結(jié)
以上是生活随笔為你收集整理的精心整理Node.js入门---原理篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 父类与子类之间的关系
- 下一篇: Linux下jetty报java.lan