美文网首页
搭建node服务器访问本地文件

搭建node服务器访问本地文件

作者: 艾晓雪 | 来源:发表于2020-07-09 15:17 被阅读0次

    1.搭建node服务

    1.1 安装node环境
    • 要想使用node的第一步,是我们应该先拥有他,现在,来开始一步步拥有它吧!

    在node官网 https://nodejs.org/en/ 下载最新的node并逐步安装。

    • 来验证一下我们的环境

    打开cmd,输入 node -v这时成功的话会出现node的版本号。如下图:

    1.png
    1.2 搭建node服务
    • 首先新建一个server.js,内容如下:
    //导入http模块
    var http = require("http");
    //开启一个监听事件每次http请求都会触发这个事件
    http.createServer(function(req,res){
    //把编码设置成utf-8
    res.write('<head><meta charset="utf-8"/></head>');
    //设置响应体信息
    res.write('搭建node服务成功!');
    res.end();
    //设置监听端口号
    }).listen(8000);
    console.log('端口号8000')
    
    1.3 运行服务

    现在我们创建node服务的代码已完成,只需要运行它啦。

    在当前server.js目录下,打开cmd或者powershell,输入node server.js
    终端显示 端口号8000 我们打印的内容,表示服务开启成功。这时可以打开浏览器,输入localhost加上我们自己设置的端口号,即可看到创建服务后write的内容。

    2.png 3.png

    2.node服务访问本地文件

    想要访问本地的文件,上面的步骤除了server.js的编写不同,其他是一样的。

    我们先看看要访问文件的摆放目录结构。


    4.png 5.png

    server.js编写:

    var url = require("url"),
        fs = require("fs"),
        http = require("http"),
        path = require("path");
    http.createServer(function (req, res) {
        var pathname = __dirname + url.parse("/dist"+req.url).pathname;//资源指向dist目录
        if (path.extname(pathname) == "") {
            pathname += "/";
        }
        if (pathname.charAt(pathname.length - 1) == "/") {
            pathname += "index.html";
        }
        fs.exists(pathname, function (exists) {
            if (exists) {
                switch(path.extname(pathname)){
                    case ".html":
                        res.writeHead(200, {"Content-Type": "text/html"});
                        break;
                    case ".js":
                        res.writeHead(200, {"Content-Type": "text/javascript"});
                        break;
                    case ".css":
                        res.writeHead(200, {"Content-Type": "text/css"});
                        break;
                    case ".gif":
                        res.writeHead(200, {"Content-Type": "image/gif"});
                        break;
                    case ".jpg":
                        res.writeHead(200, {"Content-Type": "image/jpeg"});
                        break;
                    case ".png":
                        res.writeHead(200, {"Content-Type": "image/png"});
                        break;
                    default:
                        res.writeHead(200, {"Content-Type": "application/octet-stream"});
                }
                fs.readFile(pathname, function (err, data) {
                    res.end(data);
                });
            } else {
                res.writeHead(404, {
                    "Content-Type": "text/html"
                });
                res.end("<h1>404 Not Found</h1>");
            }
        });
    }).listen(3003);
    console.log("监听3003端口");
    

    开启服务后,我们在浏览器输入: localhost:3003/index.html即可访问。

    相关文章

      网友评论

          本文标题:搭建node服务器访问本地文件

          本文链接:https://www.haomeiwen.com/subject/kjfscktx.html