首先需要的node 模組有 http,url,path,fs 模組。
// 提供乙個http 服務
// 用於處理 url 字串和 url物件
var url =
require
('url');
// 用於處理檔案路徑
var path =
require
('path');
// fs 模組 用於讀取檔案的
var fs =
require
('fs'
);
然後要用 http模組來建立乙個http模組。
)當乙個http 請求過來的時候,需要解析request.url 字段,利用url.parse()將request.url 字串轉義成url 物件。
var pathname = url.
parse
(request.url)
.pathname;
這裡假設的是把js檔案所在的目錄作為靜態伺服器的位址。
var realname = path.
join
('.'
, pathname)
;
然獲取到請求資源的檔案型別
var ext = path.
extname
(pathname)
;ext = ext ? ext.
slice(1
):'unknown'
;
然後判斷檔案是否存在,如果存在,則返回檔案,否者返回404
// 判斷檔案是否存在。
fs.exists
(realname,
function
(exists)
)
如果不存在
if
(!exists));
response.
write
('this request url'
+ pathname +
' was not found on this server.');
response.
end();
}
如果檔案存在,則讀取檔案的二進位製流
var requesttype =
;fs.
readfile
(realname,
'binary'
,function
(err, file));
response.
end(err);}
else);
response.
write
(file,
'binary');
response.
end();
}});
這樣,乙個簡單的http 靜態資源伺服器就寫好了。 nginx教程三,搭建乙個靜態資源Web伺服器
3.然後再將tar檔案壓縮成gzip檔案,上傳到nginx所在伺服器中 4.上傳到nginx所在伺服器後,將檔案解壓到 root webassets目錄下 二 nginx中的簡單配置 1.修改nginx.conf檔案如下,其中alias配置處理結果為 使用alias路徑替換location路徑,這是...
編寫乙個http的呼叫鏈
這李借鑑我同事寫的乙個呼叫鏈,看看如果個乙個請求加上乙個呼叫鏈,這個其實在其它程式設計裡面都會用到,如果熟悉 的對此會應該會更有體會 先看看測試 func regisry http.handler啟功服務,測試一下,step4 step3 authorizer authentication輸出如下,...
利用node發布乙個靜態資源服務
首先將node的fs模組裡面的方法封裝成promise模式 let fs require fs path require path 儲存的是當前模組執行所在的絕對路徑 dirname 建立web服務 let port 8686 let handle function handle req,res u...