var fs = require('fs'), url = require('url'), path = require('path'), http = require('http'), glob = require('glob'); // get root dir from command line var root = path.resolve(process.argv[2] || './static'); console.log('Static root dir: ' + root); // create server var server = http.createServer(function (request, response) { var pathname = url.parse(request.url).pathname; var filepath = path.join(root, pathname); // file status fs.stat(filepath, function(err, stat) { if (!err && stat.isFile()) { console.log('200: ' + request.url); response.writeHead(200); fs.createReadStream(filepath).pipe(response); } else if (!err && stat.isDirectory()) { console.log(fs.readdir(filepath, 'utf8', function(err, files) { if (err) { console.log(err); } else { for (let file of files) { if (file == 'index.html' || file == 'default.html') { console.log('200: ' + request.url); response.writeHead(200); fs.createReadStream(path.join(filepath, file)).pipe(response); } } } })); } else { console.log('404: ' + request.url); response.writeHead(404); response.end('404 NOT FOUND'); } }); });
Sign in to make a reply
Hfer_酸酸_乳川