Node.js NodeJS设计模式:简单http路由器
我正在开发一个nodeJS路由器,想知道在使用nodeJS路由http请求时是否有更快/更好的方法 我不想使用某种框架中的路由器,我想自己构建它Node.js NodeJS设计模式:简单http路由器,node.js,design-patterns,Node.js,Design Patterns,我正在开发一个nodeJS路由器,想知道在使用nodeJS路由http请求时是否有更快/更好的方法 我不想使用某种框架中的路由器,我想自己构建它 var servletRoutes = { "/grid/api/proxy" : statusServlet, "/grid/register" : registerServlet, "/grid/unregister" : unregisterServlet, "/selenium-server/driver" :
var servletRoutes = {
"/grid/api/proxy" : statusServlet,
"/grid/register" : registerServlet,
"/grid/unregister" : unregisterServlet,
"/selenium-server/driver" : rcRequestHandler
};
var parseIncoming = function(req, res, cb) {
var srvUrl = url.parse(req.url.toString(), true);
var servlet, route;
if (servletRoutes[srvUrl.pathname]) {
servlet = servletRoutes[srvUrl.pathname];
return servlet.handleRequest(req, cb, res);
} else {
// slower lookup of routes
for (route in servletRoutes) {
if (route === srvUrl.pathname.substring(0, route.length)) {
servlet = servletRoutes[route];
return servlet.handleRequest(req, cb, res);
}
}
}
return cb("Invalid endpoint");
};
我们就是这样做的
var express = require( 'express' );
var app = express();
app.use( '/', app.router );
app.post('/grid/api/proxy', statusServlet,);
app.post('/grid/api/register', registerServlet,);
...
app.use( function ( request, response ) {
response.send( 404 );
});
app.use( errorHandler );