Discuss / JavaScript / 作业

作业

Topic source

'use strict';

// a simple http server

var fs = require('fs'), url = require('url'), path = require('path'), http = require('http');

var root = path.resolve(process.argv[2] || '.');

console.log('Static root dir: ' + root);

var server = http.createServer(function (request, response) { var pathname = url.parse(request.url).pathname, // '/static/bootstrap.css' filepath = path.join(root, pathname), // '/srv/www/static/bootstrap.css' indexpath = path.join(filepath,'index1.html'), defaultpath = path.join(filepath,'default.html'); fs.stat(filepath, function (err, stats) { if (!err && stats.isFile()) { success(request,response,filepath); }else if(!err && stats.isDirectory()){ fs.stat(indexpath,function (err,stats){ if (!err && stats.isFile()) { success(request,response,indexpath); }else{
fs.stat(defaultpath,function (err,stats){ if(!err && stats.isFile()){ success(request,response,defaultpath); }else{ error(request,response); } }); } }); }else{ error(request,response); } }); });

function success(request,response,flPath){ console.log('200 ' + request.url + ' '+flPath); response.writeHead(200); fs.createReadStream(flPath).pipe(response); } function error(request,response){ console.log('404 ' + request.url); response.writeHead(404); response.end('404 Not Found'); } server.listen(8080);

console.log('Server is running at http://127.0.0.1:8080/');


  • 1

Reply