第一篇关于nodejs的东西,代码在此作为备份。
该代码目前未完成,是一个阻塞式的代码。
1.index.js
ar server=require(‘./server‘); var route=require(‘./router‘); var requestHandler=require(‘./requestHandlers‘); <!-- 声明一个对象 --> var handle={} handle[‘/‘]=requestHandler.start; handle[‘/start‘]=requestHandler.start; handle[‘/upload‘]=requestHandler.upload; server.start(route.route,handle);
2.server.js
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(‘received pathname:‘+pathname); route(handle,pathname); response.writeHead(200,{‘Content-Type‘:‘text/plain‘}); response.write(‘hello world‘); response.end(); } http.createServer(onRequest).listen(8888); console.log(‘server has started‘); } exports.start=start;
3.route.js
function route(handle,pathname){ console.log(‘About to route a request for ‘+pathname); if(typeof handle[pathname] == ‘function‘){ handle[pathname](); }else{ console.log(‘No request handler found for:‘+pathname); } } exports.route=route;
4.requestHandlers.js
function start(){ console.log(‘Request handler START was called‘); function sleep(millsec){ var startTime=new Date().getTime(); while(new Date().getTime()<startTime+millsec); } sleep(10000); return ‘Hello Start‘; } function upload(){ console.log(‘Request handler UPLOAD was called‘); return ‘Hello Upload‘; } exports.start=start; exports.upload=upload;
时间: 2024-11-01 20:14:26