第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

webpack 服務(wù)器端必須用node 處理嗎?

webpack 服務(wù)器端必須用node 處理嗎?

達令說 2018-11-15 19:15:14
webpack 服務(wù)器端必須用node 處理嗎
查看完整描述

1 回答

?
滄海一幻覺

TA貢獻1824條經(jīng)驗 獲得超5個贊

node.js實現(xiàn)web服務(wù)器還是比較簡單的,我了解node.js是從《node入門》開始的,如果你不了解node.js也可以看看!
我根據(jù)那書一步一步的練習完了,也的確大概了解了node.js,不過里面寫的路由的地方總感覺不方便,十一放假最后一天,試著寫了個簡單的web服務(wù)器,現(xiàn)在分享記錄于此!
http模塊已提供了基本功能,所以我主要解決兩個問題,1是靜態(tài)資源的處理,2是動態(tài)資源的路由。
靜態(tài)資源在node.js里的意思是不變的,如圖片、前端js、css、html頁面等。
動態(tài)資源我們一般指aspx頁面,ashx頁面,asp頁面,jsp頁面,php頁面等,而node.js里其實沒動態(tài)資源這一說,它對請求的處理都是由回調(diào)方法完成的,在我實現(xiàn)的httserver里,借鑒了ashx的寫法,把處理請求的js文件看作動態(tài)資源。
首先實現(xiàn)一個處理靜態(tài)資源的函數(shù),其實就是對本地文件的讀取操作,這個方法已滿足了上面說的靜態(tài)資源的處理。
//處理靜態(tài)資源
function staticResHandler(localPath, ext, response) {
fs.readFile(localPath, "binary", function (error, file) {
if (error) {
response.writeHead(500, { "Content-Type": "text/plain" });
response.end("Server Error:" + error);
} else {
response.writeHead(200, { "Content-Type": getContentTypeByExt(ext) });
response.end(file, "binary");
}
});
}

而動態(tài)資源肯定不能一個方法搞定,就像你的網(wǎng)站有register.aspx、login.aspx等等,都需要你自己來寫,在我的httpserver里,每個處理請求的js模塊都導(dǎo)出processRequest(request,response)即可,比如實現(xiàn)一個register.js(只輸出字符串register)
exports.processRequest = function (request, response) {
response.writeHead(200, { 'Content-Type': 'text/plain' });
resp.end("register");
}

現(xiàn)在當請求到來時,我們要做的就是決定怎么處理,即路由。
因為靜態(tài)資源url指定靜態(tài)資源大家都很習慣了,所以這里不變,比如
訪問http://localhost/img/logo.png 就是訪問 web根目錄\img\logo.png;
訪問http://localhost/js/what.js 就是訪問 web根目錄\js\what.js;
而動態(tài)資源也是一般的js文件,即服務(wù)器端js,就比如我實現(xiàn)的這個httpserver.js和上面說的register.js都是不應(yīng)該讓用戶訪問的,所以路由的時候要判斷,就是一些if、else,簡單而強大是我的最愛,這里只看最后的的判斷,
fs.exists(localPath, function (exists) {
if (exists) {
if (staticRes) {
staticResHandler(localPath, ext, response); //靜態(tài)資源



查看完整回答
反對 回復(fù) 2018-12-11
  • 1 回答
  • 0 關(guān)注
  • 892 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號