zoukankan      html  css  js  c++  java
  • Node.js搭建静态服务器

    let http = require('http');
    let url = require('url');
    let fs = require('fs');
    let path = require('path');
    
    http.createServer((req, res) => {
      if (req.url === '/favicon.ico') return;
      var pathname = url.parse(req.url).pathname;
      //默认首页
      if (pathname === '/') {
        pathname = 'index.html';
      }
      //拓展名
      var extname = path.extname(pathname);
      //真的读取这个文件
      fs.readFile('./static/' + pathname, (err, data) => {
        if (err) {
          console.log(err);
          //如果此文件不存在,就应该返回404
          fs.readFile('./static/404.html', (err, data) => {
            res.writeHead(200, {'content-type':'text/html;charset=utf-8'});
            res.end(data);
            return;
          })
          return;
        }
        //MIME类型,就是
        //网页文件:text/html;
        //png: image/png
        var mime = getMime(extname);
        res.writeHead(200, {"Content-Type": mime});
        res.end(data);
      });
      // res.end(pathname+' '+extname);
    }).listen(3000);
    
    function getMime(extname) {
      //表驱动法
      var extObj = {
        ".html": "text/html",
        ".png": "image/png",
        ".jpg": "image/jpeg",
        ".css": "text/css",
        ".js": "text/javascript"
      };
      return extObj[extname];
    }
  • 相关阅读:
    极大/小搜索,alpha/beta剪枝
    消息系统
    渲染主线程都在干什么
    好玩的虚拟CPU执行代码
    好玩的隐藏属性
    好玩的对象存储
    透视投影矩阵
    绕任意轴旋转
    视图变换
    正交投影矩阵
  • 原文地址:https://www.cnblogs.com/96weibin/p/8676963.html
Copyright © 2011-2022 走看看