接收html文件、json數(shù)據(jù)的demo
文件解釋:
-
index.html:主頁面
-
about.html:"關(guān)于我們"頁面
-
index.js:服務(wù)器配置和響應(yīng)設(shè)置
代碼:
index.html
歡迎來到我的主頁
about.html:
歡迎來到關(guān)于我們的頁面
簡單功能測試
index.js:
- 創(chuàng)建服務(wù)器對象、設(shè)置端口、服務(wù)器響應(yīng)后返回一個(gè)html標(biāo)簽,讓頁面顯示"good morning"
// 引入需要的模塊
const path = require(“path”);
const http = require(“http”);
const fs = require(“fs”);
// 創(chuàng)建變量存儲(chǔ)服務(wù)器對象
const server = http.createServer((req,res)=>{
console.log(req.url);
// 結(jié)束響應(yīng),返回響應(yīng)的數(shù)據(jù)
res.end(“
good morning
”)})
// 定義監(jiān)聽端口
// 如果環(huán)境變量中有定義端口,則使用環(huán)境變量中的端口,如果沒有,就使用9999端口
const port = process.env.PROT || 9999;
// 監(jiān)聽
server.listen(port,()=>{
console.log(服務(wù)器的${port}端口正在運(yùn)行...
)
})
運(yùn)行效果:
項(xiàng)目啟動(dòng),控制臺(tái)打印"服務(wù)器的9999端口正在運(yùn)行…"
在瀏覽器打開localhost:9999,頁面顯示
good morning
============
加載html文件
簡單的功能測試完畢,現(xiàn)在加入"加載index.html"的響應(yīng):
// 加載index頁面
if (req.url === ‘/’){
fs.readFile(path.join(__dirname,“public”,“index.html”),(err,data)=>{
if (err) throw err;
res.writeHead(200, {‘Content-Type’:“text/html”})
res.end(data);
})
}
效果:
瀏覽器訪問localhost:9999,加載index.html頁面,顯示如下:
接著是about.html頁面的加載:
// 加載about頁面
if (req.url === ‘/about’){
fs.readFile(path.join(__dirname,“public”,“about.html”),(err,data)=>{
if (err) throw err;
res.writeHead(200, {‘Content-Type’:“text/html”})
res.end(data);
})
}
效果:
瀏覽器訪問localhost:9999/about,加載about.html頁面,顯示如下:
加載json數(shù)據(jù)
然后是json數(shù)據(jù)的讀?。?/p>
if (req.url = “/api/user”) {
const data = [
{
name: “ccy”,
age: 25
},
{
name: “ccy1”,
age: 25
}
];
res.writeHead(200, { ‘Content-Type’: “application/json” })
res.end(JSON.stringify(data));
}
效果:
瀏覽器訪問localhost:9999/api/user,加載該json數(shù)據(jù),顯示為:
index.js完整代碼:
// 引入需要的模塊
const path = require(“path”);
const http = require(“http”);
const fs = require(“fs”);
// 創(chuàng)建變量存儲(chǔ)服務(wù)器對象
const server = http.createServer((req,res)=>{
// 加載index頁面
if (req.url === ‘/’){
fs.readFile(path.join(__dirname,“public”,“index.html”),(err,data)=>{
if (err) throw err;
res.writeHead(200, {‘Content-Type’:“text/html”})
res.end(data);
})
}
// 加載about頁面
if (req.url === ‘/about’){
fs.readFile(path.join(__dirname,“public”,“about.html”),(err,data)=>{
if (err) throw err;
res.writeHead(200, {‘Content-Type’:“text/html”})
res.end(data);
})
}
// 加載json數(shù)據(jù)
if (req.url = “/api/user”) {
const data = [
{
name: “ccy”,
age: 25
},
{
name: “ccy1”,
age: 25
}
];
res.writeHead(200, { ‘Content-Type’: “application/json” })
res.end(JSON.stringify(data));
}
})
// 定義監(jiān)聽端口
// 如果環(huán)境變量中有定義端口,則使用環(huán)境變量中的端口,如果沒有,就使用9999端口
const port = process.env.PROT || 9999;
// 監(jiān)聽
server.listen(port,()=>{
console.log(服務(wù)器的${port}端口正在運(yùn)行...
)
})
根據(jù)文件后綴名加載
如果文件找不到,就顯示404,因此我們加一個(gè)404的html:
404.html
404 NOT FOUND
在前一個(gè)例子的基礎(chǔ)上加上文件后綴名的判斷,此處用switch來做判斷
不同類型的文件對應(yīng)的content-type都不同,此處僅列舉幾個(gè)類型,如:
| 文件類型 | content-type |
| — | — |
| ‘.js’ | text/javascript |
| ‘.css’ | text/css |
| ‘.json’ | application/json |
| ‘.png’ | image/png |
| ‘.jpg’ | image/jpg |
自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。
深知大多數(shù)前端工程師,想要提升技能,往往是自己摸索成長或者是報(bào)班學(xué)習(xí),但對于培訓(xùn)機(jī)構(gòu)動(dòng)則幾千的學(xué)費(fèi),著實(shí)壓力不小。自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!
因此收集整理了一份《2024年Web前端開發(fā)全套學(xué)習(xí)資料》,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時(shí)減輕大家的負(fù)擔(dān)。
既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗(yàn)的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上前端開發(fā)知識(shí)點(diǎn),真正體系化!
由于文件比較大,這里只是將部分目錄截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且會(huì)持續(xù)更新!
如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲取?。。▊渥ⅲ呵岸耍?/strong>

最后:
總結(jié)來說,面試成功=基礎(chǔ)知識(shí)+項(xiàng)目經(jīng)驗(yàn)+表達(dá)技巧+運(yùn)氣。我們無法控制運(yùn)氣,但是我們可以在別的地方花更多時(shí)間,每個(gè)環(huán)節(jié)都提前做好準(zhǔn)備。
面試一方面是為了找到工作,升職加薪,另一方面也是對于自我能力的考察。能夠面試成功不僅僅是來自面試前的臨時(shí)抱佛腳,更重要的是在平時(shí)學(xué)習(xí)和工作中不斷積累和堅(jiān)持,把每個(gè)知識(shí)點(diǎn)、每一次項(xiàng)目開發(fā)、每次遇到的難點(diǎn)知識(shí),做好積累,實(shí)踐和總結(jié)。
點(diǎn)擊這里領(lǐng)取Web前端開發(fā)經(jīng)典面試題文章來源:http://www.zghlxwxcb.cn/news/detail-853451.html
較大,這里只是將部分目錄截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且會(huì)持續(xù)更新!**
如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲?。。。▊渥ⅲ呵岸耍?/strong>

最后:
總結(jié)來說,面試成功=基礎(chǔ)知識(shí)+項(xiàng)目經(jīng)驗(yàn)+表達(dá)技巧+運(yùn)氣。我們無法控制運(yùn)氣,但是我們可以在別的地方花更多時(shí)間,每個(gè)環(huán)節(jié)都提前做好準(zhǔn)備。
面試一方面是為了找到工作,升職加薪,另一方面也是對于自我能力的考察。能夠面試成功不僅僅是來自面試前的臨時(shí)抱佛腳,更重要的是在平時(shí)學(xué)習(xí)和工作中不斷積累和堅(jiān)持,把每個(gè)知識(shí)點(diǎn)、每一次項(xiàng)目開發(fā)、每次遇到的難點(diǎn)知識(shí),做好積累,實(shí)踐和總結(jié)。
點(diǎn)擊這里領(lǐng)取Web前端開發(fā)經(jīng)典面試題
文章來源地址http://www.zghlxwxcb.cn/news/detail-853451.html
到了這里,關(guān)于NodeJS入門:常用模塊匯總之http模塊(1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!