Node.js自定義實(shí)現(xiàn)文件路由功能
一、創(chuàng)建路由處理定義
//獲取http模塊
var http = require('http');
//文件 模塊
var fs = require('fs');
//404文件
var error = "./view/404.html";
//實(shí)現(xiàn)文件 相應(yīng)函數(shù)以及404錯(cuò)誤相應(yīng)函數(shù)
var Response = function (res, filePath) {
//讀取 文件,然后給客戶端 相應(yīng)
fs.readFile(filePath, function (err, data) {
if (err) {
if (filePath != error) //如果出錯(cuò)輸出404頁面
Response(res, error);
} else {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(data);
}
});
}
二、創(chuàng)建服務(wù)器 ,監(jiān)聽路由處理
//創(chuàng)建和啟動(dòng)服務(wù)器
var server = http.createServer(function (req, res) {
console.info(req.url);
//判斷 URL,提供 不同的路由
var url = req.url;
if (url == '/index' || url == '/') {
//主頁
var index = require('../view/index');
index.write(res);
} else {
//制定文件輸出view下的文件內(nèi)容
Response(res, './view' + url);
}
});
//啟動(dòng)服務(wù)器
server.listen('3000', function () {
var address = server.address();
console.info(address);
console.info('服務(wù)器啟動(dòng)成功:http://localhost:%s', address.port);
});


三 、首頁模塊響應(yīng)
/**
* 主頁內(nèi)容響應(yīng)處理
*/
exports.write=function(res){
res.writeHead(200,{'Content-Type':'text/html'});
res.write('<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />');
res.write('<h1>主頁內(nèi)容2</h1>');
res.end();
}
總結(jié)
以上所述是小編給大家介紹的Node.js自定義實(shí)現(xiàn)文件路由功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Nodejs中使用phantom將html轉(zhuǎn)為pdf或圖片格式的方法
這篇文章主要介紹了Nodejs中使用phantom將html轉(zhuǎn)為pdf或圖片格式的方法,需要的朋友可以參考下2017-09-09
關(guān)于訪問node?express中的static靜態(tài)文件方法
這篇文章主要介紹了關(guān)于訪問node?express中的static靜態(tài)文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
Node.js高級(jí)編程cluster環(huán)境及源碼調(diào)試詳解
這篇文章主要為大家介紹了Node.js高級(jí)編程cluster環(huán)境及源碼調(diào)試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
詳解nodejs http請(qǐng)求相關(guān)總結(jié)
這篇文章主要介紹了nodejs http請(qǐng)求相關(guān)總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03
剖析Node.js異步編程中的回調(diào)與代碼設(shè)計(jì)模式
這篇文章主要介紹了Node.js異步編程中的回調(diào)與代碼設(shè)計(jì)模式,雖然大多數(shù)場(chǎng)合回調(diào)編寫時(shí)的長(zhǎng)串括號(hào)不怎么好看,但Node的異步性能確實(shí)很好,需要的朋友可以參考下2016-02-02
nodejs微信開發(fā)之授權(quán)登錄+獲取用戶信息
這篇文章主要介紹了nodejs微信開發(fā)之授權(quán)登錄+獲取用戶信息,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03
使用Node實(shí)現(xiàn)Git倉庫批量克隆的操作步驟
分享一個(gè)node腳本,通過調(diào)用gitee的OpenApi獲取自己的代碼倉庫列表,達(dá)到批量克隆項(xiàng)目的效果,文中通過代碼示例和圖文講解的非常詳細(xì),感興趣的小伙伴可以參考閱讀一下2024-04-04

