nodeJsの門をそっと叩いてください.最初のnodeJs入門プログラムです.
12485 ワード
たくさんの言語を話して勉強します.最近またnodejsを書き始めました.ちょっと疲れました.
概要
この文章は主に今日入門したnodejsのいくつかのコードを記録しています.後のコードはこのパターンで開発できるはずですが、後でフレームを使うはずですので、開発には違いがあります.
以下のコードの主なものは、入口プログラム>サーバ>>ルート>処理プログラムであり、要求反応もこのような論理に従って、層の深化を行っている.
ここは簡単な記録をしただけです.これからもっと良くなりますように.もっと詳しい内容はNode入門にアクセスしてください.
エントリプログラム(index.js)
概要
この文章は主に今日入門したnodejsのいくつかのコードを記録しています.後のコードはこのパターンで開発できるはずですが、後でフレームを使うはずですので、開発には違いがあります.
以下のコードの主なものは、入口プログラム>サーバ>>ルート>処理プログラムであり、要求反応もこのような論理に従って、層の深化を行っている.
ここは簡単な記録をしただけです.これからもっと良くなりますように.もっと詳しい内容はNode入門にアクセスしてください.
エントリプログラム(index.js)
//
//
var server = require('./server');
var router = require('./router');
var requestHandlers = require('./requestHandlers');
//handle ,
var handle = {}
// , switch if
// 、
handle['/'] = requestHandlers.start;
handle['/start'] = requestHandlers.start;
handle['/upload'] = requestHandlers.upload;
handle['/index'] = requestHandlers.index;
handle['/show'] = requestHandlers.show;
server.start(router.route,handle);
/*
》》 》》 》》
*/
サーバ(server.js)//http , ,
// , ,
//http
var http = require('http');
var url = require('url');
// router
function start(route, handle){
function onRequest(request,response){
var postData = '';
var pathname = url.parse(request.url).pathname;
console.log('request for ' + pathname + ' received');
// ,
//
request.setEncoding('utf8');
// ,
//
request.addListener('data', function(postDataChunk){
postData += postDataChunk;
console.log('Receive Post data chunk "' + postData + '".');
});
//
request.addListener('end', function(){
route(handle, pathname, response, postData);
});
response.writeHead(200, {'Content-type':'text/plain'});
// response.write(content);
// response.end();
}
// , , listen,
//
// ,
http.createServer(onRequest).listen(8080);
console.log('Server has started');
}
// , ( )
exports.start = start;
ルート(router.js)// url
//
function route(handle, pathname,response,postData){
console.log('about to route a request for ' + pathname);
if(typeof handle[pathname] == 'function'){
// ,
// ,
handle[pathname](response, postData);
}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;
処理プログラム(request Handles.js)// ,
var exec = require('child_process').exec;
var querystring = require('querystring');
var fs = require('fs'); //
function start(response, postData){
console.log('start');
function sleep(milliSeconds){
var startTime = new Date().getTime();
while(new Date().getTime() < startTime + milliSeconds);
}
//
// 10s
exec('dir /s/a C:',{timeout:10000, maxBuffer:20000*1024},function(error,stdout,stderr){
// sleep(10 * 1000);
response.writeHead(200,{'COntent-type':'text/plain'});
response.write(stdout);
response.end();
});
}
function index(response, postData){
console.log('index');
var body = '' +
''+
''charset=UTF-8" />'+
''+
'+
'