Express路由是如何實現的?

2021-09-26 11:05:00 字數 1530 閱讀 1718

express是乙個極簡的node.js後端開發框架,它最強大的地方在於它的路由實現,那麼它的路由是如何實現的呢?下面給大家分享兩段**,希望大家能夠有個簡單的認識。

首先是封裝的路由模組

var url = require('url');

// 封裝res.send()方法

function changeres(res) );

res.end(data);

}};// 定義主服務方法

var server = function () ;

this._post = {};

changeres(res);

// 獲取路由

var pathname = url.parse(req.url).pathname;

// 處理url路由,將結尾加上'/',與註冊方法統一

if (!pathname.endswith('/')) ;

// 獲取請求的方式,get和post請求

var method = req.method.tolowercase();

// 判斷方法是否存在

if (g['_' + method][pathname]) );

req.on('end', function (err, chunk) );

// 執行get請求

} else ;

} else ;

};// 定義乙個get方法為所有的get請求註冊

// 將請所有註冊路由前後加上'/'

if (!string.endswith('/')) ;

if (!string.startswith('/')) ;

g._get[string] = callback;

};// 定義乙個post方法為所有的post請求註冊

// 將請所有註冊路由前後加上'/'

if (!string.endswith('/')) ;

if (!string.startswith('/')) ;

g._post[string] = callback;

};}module.exports = server();

下面是引入路由並使用。

// 引入封裝的路由

// 註冊首頁的路由(方法)

var msg='這是資料庫的資料'

ejs.renderfile('views/index.ejs',,function(err,data))

});// 註冊login的路由(方法)

console.log('login');

ejs.renderfile('views/form.ejs',{},function(err,data))

});// 註冊dologin的路由(方法)

console.log(req.body);

res.send("");

})

關於IP網段間互訪的問題 路由是根本

文章出處 之所以ip網段間可以互相訪問,完全靠的就是路由,因此路由是ip通訊的根本。ip是機器可以進行通訊的資格證書,而路由決定該機器的資料可以到哪以及如何到,沒有路由就不可能有ip網路。ip其實就是乙個標號,而ip路由就是精心設計的基於這種標號的定址機制,這種邏輯上的解決方案使整個世界連線在了一起...

node框架express路由的大致原理

昨晚準備洗澡的時候,突然想實現一下express的路由邏輯,但時間有限,只能先寫這麼多。這個不完全是express的路由原理,只是提供一點思路,具體邏輯可以參考原始碼,express的路由,好不好不敢說,但是做法挺新穎的,給我乙個新的思想。function layer config else lay...

路由的基本實現 hash路由

vue react在路由的實現上,都有基於hash的路由。那麼如何使用原生來實現呢?比如類似下面這樣的路由 hash實現路由的時候,最本質的原理就是hash值的變化,會引發乙個hashchange事件,可以根據這個hash值的變化,載入不同的dom。html divclass box flex bo...