==================index.js文件=================
var server=require("./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.js文件
//get http mode
var http=require("http");
var url=require("url");
function start(route,handle){
http.createServer(function(request,response) {
var pathname=url.parse(request.url).pathname;
console.log("Request for "+pathname+" received!");
route(handle,pathname,response);
// 8080 is listening
}).listen(8080);
console.log("Server has started.");
}
exports.start=start;
======================================================================================
============requestHandler.js文件===============
var exec=require("child_process").exec;
function start(response){
console.log("===start()===");
//var content="empty";
//exec("ls=lah",function (error,stdout,stderr){
//content=stdout;
//});
//return content;
exec("find /",
{ timeout: 10000, maxBuffer: 20000*1024 },
function (error, stdout, stderr) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write(stdout);
response.end();
});
//阻塞等待10秒后返回
// function sleep(millliSeconds){
// var startTime=new Date().getTime();
// while(new Date().getTime()<startTime+millliSeconds);
// }
// sleep(10000);
// return "hello start!";
}
function upload(response){
console.log("===upload()===");
response.writeHead(200,{"Content=type":"text/plain"});
response.write("hello upload!");
response.end();
}
exports.start=start;
exports.upload=upload;
======================================================================================
===============router.js文件===============
function route(handle,pathname,response){
console.log("About to route a request for "+pathname);
if(typeof handle[pathname]=='function'){
handle[pathname](response);
}else{
console.log("no request handler found for "+pathname);
response.writeHead(404,{"Content=type":"text/plain"});
response.write("404 Not found!");
response.end();
}
}
exports.route=route;
======================================================================================
分享到:
相关推荐
nodejs-learning-guide, Nodejs学习笔记以及经验总结
微信小游戏-斗地主,包含nodejs-服务器-nodejs-server-wechat-landLordGame
nodeJS-----安装包
nodejs 学习笔记 nodejs 学习笔记 nodejs 学习笔记
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
cos-nodejs-sdk-v5腾讯云 COS Nodejs SDK()installnpm i cos-nodejs-sdk-v5 --savedemo// 引入模块var COS = require('cos-nodejs-sdk-v5');// 创建实例var cos = new COS({ SecretId: '...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
learn-nodejs-building-6-projects learn-nodejs-building-6-projects
微信小游戏斗地主小游戏源码,前端加nodejs-服务器nodejs-server-wechat-landLordGame-master.zip
nodejs-microservice-starter, NodeJS RESTful API Microservice Starter NodeJS RESTful API Microservice v1.2.0这个存储库包含运行 NodeJS rest式 API Microservice启动器的完整配置。 要求NodeJS用于本地开
Nodejs-API-中文文档.pdf
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
DigitalOcean-Nodejs-Deployment--源码.rar
Nodejs学习笔记以及经验总结
Nodejs学习笔记
前端开源库-nodejs-linked-listnodejs链接列表,nodejs链接列表