var url = require("url"), fs = require("fs"), http = require("http"), path = require("path"); var port = 8080 // 默认检测80端口 if (process.argv[2] === '-p') { port = parseInt(process.argv[3]) } var server = http.createServer(function (req, res) { var pathname = __dirname + url.parse(req.url).pathname; if (path.extname(pathname) == "") { pathname += "/"; } if (pathname.charAt(pathname.length - 1) == "/") { pathname += "index.html"; } fs.exists(pathname, function (exists) { if (exists) { switch (path.extname(pathname)) { case ".html": res.writeHead(200, { "Content-Type": "text/html" }); break; case ".js": res.writeHead(200, { "Content-Type": "text/javascript" }); break; case ".css": res.writeHead(200, { "Content-Type": "text/css" }); break; case ".gif": res.writeHead(200, { "Content-Type": "image/gif" }); break; case ".jpg": res.writeHead(200, { "Content-Type": "image/jpeg" }); break; case ".png": res.writeHead(200, { "Content-Type": "image/png" }); break; default: res.writeHead(200, { "Content-Type": "application/octet-stream" }); } fs.readFile(pathname, function (err, data) { res.end(data); }); } else { res.writeHead(404, { "Content-Type": "text/html" }); res.end("<h1>404 Not Found</h1>"); } }); }).listen(port); server.on('error', function (err) { if (err.code === 'EADDRINUSE') { // 端口已经被使用 console.log('The port【' + port + '】 is occupied, please change other port.') } }) server.on('listening', function (err) { console.log('Server running at localhost port【' + port + '】'); })