nodejs搭建本地服务器

2021/4/12 12:29:32

本文主要是介绍nodejs搭建本地服务器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

var http = require('http');
var fs = require('fs');
var url = require('url');
//创建服务器
http.createServer(function (request, response) {
    //解析请求,包括文件名
    var pathname = url.parse(request.url).pathname;

    //默认加载路径
    if (pathname == '/') {
        pathname = "/index.html";
    }
    //输出请求的文件名
    console.log("Request for " + pathname + "  received.");
    //获取后缀,判断是js还是css文件,如果目录结构不同,此处需要修改
    var firstDir = pathname && pathname.split('/')[1];
    var ContentType = { 'Content-Type': 'text/html' };

    // js - application/x-javascript
    if (pathname.indexOf(".css") > -1) {
        ContentType = { 'Content-Type': 'text/css' };
    }
    if (pathname.indexOf(".png") > -1) {
        ContentType = { 'Content-Type': 'image/png' };
    }
    if (pathname.indexOf(".js") > -1) {
        ContentType = { 'Content-Type': 'application/x-javascript' }
    }
    //从文件系统中去请求的文件内容
    fs.readFile(pathname.substr(1), function (err, data) {
        if (err) {
            console.log(err);
            //HTTP 状态码 404 : NOT FOUND
            //Content Type:text/plain
            response.writeHead(404, { 'Content-Type': 'text/html' });
            //发送响应数据
            response.end();
        } else if (pathname.lastIndexOf("png") > -1) {
            // HTTP 状态码: 200 : OK
            // Content Type: text/plain
            response.writeHead(200, { 'Content-Type': 'image/png' });
            var imageFilePath = pathname.substr(1);
            var stream = fs.createReadStream(imageFilePath);
            var responseData = [];//存储文件流
            if (stream) {//判断状态
                stream.on('data', function (chunk) {
                    responseData.push(chunk);
                });
                stream.on('end', function () {
                    var finalData = Buffer.concat(responseData);
                    response.write(finalData);
                    response.end();
                });
            }

        } else {
            //HTTP 状态码 200 : OK
            //Content Type:text/plain
            response.writeHead(200, ContentType);

            //写会回相应内容
            response.write(data.toString());
            //发送响应数据
            response.end();
        }

    });
}).listen(8888);

console.log('Server running at http://127.0.0.1:8888/');




这篇关于nodejs搭建本地服务器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程