本專題主要本人對(duì)所學(xué)的Node.js進(jìn)行知識(shí)點(diǎn)的梳理和回顧,作者會(huì)以老師的角度去講解和總結(jié)(因?yàn)樽髡哂X(jué)得這種方式就好像高中的時(shí)候?yàn)橥瑢W(xué)解決問(wèn)題,能夠加深自己對(duì)知識(shí)點(diǎn)的理解,因此用這種方式以便本人加深對(duì)所學(xué)知識(shí)的理解和重新回顧,我的思考方式遵循(這是什么==>為什么使用==>怎么使用==>再總結(jié)),因此不一定適合所有人,畢竟這是本人對(duì)于所學(xué)知識(shí)的歸結(jié)和整理,而且每個(gè)人的學(xué)習(xí)方法不同!!(PS:本人資歷尚淺,有錯(cuò)誤的地方,希望看官能夠給出正確的指導(dǎo)予以改正)
首先Node.js究竟是什么?
根據(jù)維基百科給出的介紹,Node.js是一個(gè)開(kāi)放源代碼,跨平臺(tái)的,可用于服務(wù)器端和網(wǎng)絡(luò)環(huán)境的運(yùn)行環(huán)境。直接看維基給出的解釋,不認(rèn)真進(jìn)行分析,的確難以明白其中的意思。但是我們明白了,Node.js絕對(duì)不是一些不專業(yè)的工程師所說(shuō)的"語(yǔ)言",而是一個(gè)平臺(tái),而回到Node.js文檔,我們可以看出,Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。總的來(lái)說(shuō),Node.js是JavaScript的運(yùn)行環(huán)境。
Node.js能夠做什么?
根據(jù)圖靈社區(qū)給出的資料,Node.js能夠做的事情,有許多;
例如:
1.具有復(fù)雜邏輯的網(wǎng)站;
2.基于社交網(wǎng)絡(luò)的大規(guī)模 Web 應(yīng)用;
3.Web服務(wù)器 Web Socket 服務(wù)器;
4.TCP/UDP 套接字應(yīng)用程序;
5.命令行工具;
6.交互式終端程序;
7.帶有圖形用戶界面的本地應(yīng)用程序;
8.單元測(cè)試工具;
9.客戶端 JavaScript 編譯器。
等等
這時(shí)候,是不是想說(shuō)一些不文明的話,這這。。這怎么學(xué)啊,我只是個(gè)不怎么厲害的前端,看到這些我有點(diǎn)虛了。我說(shuō)先不要虛,不如讓我們先用Node.js造一個(gè)我們前端常見(jiàn)的web服務(wù)器吧!如何?
步驟1:(搭建環(huán)境)
先創(chuàng)建一個(gè)文件夾,然后進(jìn)去,用命令行,git init創(chuàng)建一個(gè)package.json(這一步應(yīng)該會(huì)吧),如果不會(huì)需要加強(qiáng)自身知識(shí)哦。然后打開(kāi)package.json將script改為如圖的樣子(這個(gè)專業(yè)來(lái)說(shuō),用npm script創(chuàng)造前端工作流):
步驟2:(創(chuàng)建文件,并寫代碼)
步驟3:(運(yùn)行命令行,打開(kāi)瀏覽器)
然后打開(kāi)命令行工具,輸入npm test即可,因?yàn)閠est是npm關(guān)鍵字之一,因此不用run。最后打開(kāi)瀏覽器輸入localhost:3030;您就能看見(jiàn)下圖
這樣我們就創(chuàng)建好了我們第一個(gè)Node項(xiàng)目,是不是覺(jué)得so easy??
步驟4:(使用fs讀取HTML文件)
接下來(lái),你再創(chuàng)建一個(gè)文件名為test.html,然后去隨便找一個(gè)網(wǎng)頁(yè),然后復(fù)制它的源代碼在test.html文件里面。(我復(fù)制阮一峰偶像的代碼。。),然后將index的代碼改成我這樣:
然后你再次重啟Web服務(wù)器,你就會(huì)看見(jiàn)奇跡(如圖):
我直接將我偶像的網(wǎng)頁(yè)變成我的網(wǎng)頁(yè)。
總結(jié):
如果你是第一次使用Node.js搭建Web服務(wù)器,并且成功運(yùn)行,你就會(huì)感覺(jué)到Node.js的強(qiáng)大魔力,作者我第一次也是這樣被Node.js所吸引,在本章我們還運(yùn)用了Node.js兩大核心模塊HTTP模塊和FS模塊(核心模塊是指Node自帶的模塊)。但是在一章作者我,沒(méi)有講解任何Node的核心知識(shí)點(diǎn)!!因此再接下來(lái)的章節(jié)會(huì)逐一介紹。