server.js 1.1 KB

12345678910111213141516171819202122232425262728
  1. const http = require("http"),
  2. fs = require("fs"),
  3. url = require("url"),
  4. path = require("path");
  5. let server = http.createServer(function(request, response) {
  6. let pathObj = url.parse(request.url, true);
  7. if (pathObj.pathname === "/" || pathObj === "/index")
  8. pathObj.pathname = "/index.html";
  9. let filePath = path.join(path.resolve(), pathObj.pathname);
  10. let mime = ((ext = path.extname(filePath)) => {
  11. let t = {".png": "image/png", ".js": "application/javascript", ".css": "text/css"};
  12. return t[ext] || "text/html";
  13. })();
  14. fs.readFile(filePath, "binary", function(err, fileContent) {
  15. if (err) {
  16. console.log("404 " + filePath);
  17. response.writeHead(404, "not found");
  18. response.end("<h1>404 Not Found</h1>");
  19. } else {
  20. console.log("ok " + filePath);
  21. response.setHeader("Content-Type", mime);
  22. response.write(fileContent, "binary");
  23. response.end();
  24. }
  25. });
  26. });
  27. server.listen(3000);
  28. console.log('visit http://localhost:3000');