欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NodeJs的简易web服务器

程序员文章站 2022-05-04 19:34:06
...

1.Types.js 对应Content-Type的类型

module.exports={
    ".js": "text/javascript",
    ".css":"text/css",
    ".html":"text/html",
    ".jpg":"images/jpeg"
}

// types举几个例子,nodejs的自定义模块

2.简易的web服务器

let URL=require("url");
let path=require("path");
let fs=require("fs");
let http=require("http");
let Types = require("./types");
http.createServer(function(req,res){

    let pathname=URL.parse(req.url).pathname; //获取路径,去除query
    let extName=path.extname(pathname); //获取后缀名
    if(pathname!=="/favicon.ico"){
        fs.readFile(path.resolve(__dirname,`./${pathname}`),(err,data)=>{
            if(err) {
                console.log(err);
                fs.readFile("html/404.html",(error,dt)=>{
                    if(error) return false;
                    res.writeHead(404,`Content-Type:"text/html;chaset=utf8"`);
                    res.write(dt);
                    res.end();
                })
            }else{
                //找到页面了
                res.writeHead(200,`Content-Type:"${Types[extName]};chaset=utf8"`); //根据types设置type
                res.write(data);
                res.end();
            } 
        })
    }
}).listen(8001,"127.0.0.1")

3.目录结构

NodeJs的简易web服务器

NodeJs的简易web服务器