zoukankan      html  css  js  c++  java
  • node —— 静态资源文件管理

    var http = require("http");
    var url = require("url");
    var fs = require("fs");
    var path = require("path");

    http.createServer(function(req,res){
        //得到用户的路径
        var pathname = url.parse(req.url).pathname;
        //默认首页
        if(pathname == "/"){
            pathname = "index.html";
        }
        //拓展名
        var extname = path.extname(pathname);

        //真的读取这个文件
        fs.readFile("./static/" + pathname,function(err,data){
            if(err){
                //如果此文件不存在,就应该用404返回
                fs.readFile("./static/404.html",function(err,data){
                    res.writeHead(404,{"Content-type":"text/html;charset=UTF8"});
                    res.end(data);
                });
                return;
            };
          
            var mime = getMime(extname);
            res.writeHead(200,{"Content-type":mime});
            res.end(data);
        });

    }).listen(3000,"127.0.0.1");

    function getMime(extname){
        switch(extname){
            case ".html" :
                return "text/html";
                break;
            case ".jpg" :
                return "image/jepg";
                break;
            case ".png" :
                return "image/png";
                break;
            case ".css":
                return "text/css";
                break;
            case ".js":
                return "application/javascript";
                break;
            case ".json":
                return "application/json";
                break;  
        }
    }
  • 相关阅读:
    javascript中的throttle和debounce
    移动端Click300毫秒点击延迟的来龙去脉(转)
    HTTP Keep-Alive详解[转]
    深入浅出requireJS-1
    判断网站是微信打开的
    2015腾讯和阿里前端实习生面试经
    解决ant design 中 select的option 随页面滚动条滚动的bug
    解决window.close()方法兼容各个浏览器(ie关闭会进行弹框提示是否关闭)
    多维数组遍历添加新属性,以及获取所有key
    Vue 路由解耦与快捷新增
  • 原文地址:https://www.cnblogs.com/500m/p/10977484.html
Copyright © 2011-2022 走看看