nodejs的模块化编程

nodejs的模块化编程
1 构建服务器模块
var http = require("http");
var url = require('url');
function start(route, handle) {
	function onRequest(request, response) {
		var pathname = url.parse(request.url).pathname;
		console.log("Request for " + pathname + " received.");
		// var content = route(pathname,handle);
		var content = route(pathname,handle,response);
		/* response.writeHead(200, {"Content-Type": "text/plain"});
		response.write(content);
		response.end(); */
	}
	http.createServer(onRequest).listen(8888);
	console.log("Server has started.");
}
exports.start = start;

http跟url都是nodejs的模块,可以使用require方法将其导入到当前所在模块的作用域中。
exports将本模块中的方法导出,相当于java中接口暴露给外部调用的共有方法。
2 构建主启动模块
var server = require('./server');//导入上面构建server模块
var router = require('./router');//导入路由模块
var requestHandlers = require('./requestHandlers');//导入请求处理器模块
var handle = {};
handle['/'] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/upload"] = requestHandlers.upload;
server.start(router.route,handle);//调用server模块的启动方法启动服务器

hander对象存放每个请求的url所对应的请求处理器方法,其余参照注释
3 其他模块的构建方法类似
主要用到require将其他模块导入本模块,exports导出模块共有方法。

猜你喜欢

转载自jobar.iteye.com/blog/2084255