输出数字序列和文件内容的服务程序
//输出数字序列和文件内容的服务程序var http = require('http'),fs = require('fs');//输出数字序列function writeNumber(res){ var counter = 0; //增加 并回写到页面 for(var i=0;i<100;i++) { counter ++; res.write(counter.toString()+'\n'); }}//创建 HttpServerhttp.createServer(function(req,res){ //加载 url 模块,并调用 parse 方法 解析传入的 url,取得其中的 query 值 var query = require('url').parse(req.url).query; console.log('query:'+query); //加载 querystring 模块 解析其 query 内容 var app = require('querystring').parse(query).file + '.txt'; console.log('app:'+app); //设置响应头 res.writeHead(200,{'Content-Type':'text/plain'}); //输出数字序列 writeNumber(res); //延时2秒后 读取文件内容 setTimeout(function(){ //输出文件名 console.log('打开文件:'+app); //打开并读取对应文件里面的内容 fs.readFile(app,'utf8',function(err,data){ if(err) { res.write('不能打开文件或不可读\n'); } else { res.write(data); } res.end(); }); },2000);}).listen(8124);console.log('服务运行在 8124 端口');
在命令行输入:
node ch1ex3_viewSyncFlow.js
运行成功:
服务运行在 8124 端口
在浏览器里填写:
后台打印:
打开文件:hello.txt
对应 hello.txt 包含内容为:
Hello NodeJS.