美文网首页
【node.js】搭建可访问本地文件的服务器

【node.js】搭建可访问本地文件的服务器

作者: 倾国倾城倾我心 | 来源:发表于2018-12-26 19:18 被阅读0次

A.手动搭建

一.首先了解文件目录


文件目录.jpg

二.新建assets文件夹,里面可放置各类静态资源(图片,网页,建模素材等),例子:index.html

<!DOCTYPE HTML>
<html>
<body>
<video width="320" height="240" controls="controls">
  <source src="movie.ogg" type="video/ogg">
  <source src="movie.mp4" type="video/mp4">
</video>

</body>
</html>

三.创建server.js

//加载模块
var http = require('http');
var fs = require('fs');
var url = require('url');
var path = require('path')
 


var server = http.createServer(function(req, res){
    
    //1.__dirname是全局变量,可以直接获取。表示当前执行脚本所在的目录。
    var staticPath = path.join(__dirname,'assets');    //path.join方法,拼接目录地址
    //2.staticPath拼接后的目录地址,为了跳到自己项目所在那个目录。
 
    //3.req.url请求的链接(这里输出的是/index.html)
    var pathObj = url.parse(req.url, true);         //url.parse方法,解析请求的url,解决链接"\"和"/"的差异问题。
    //4.解析后的req.url是个对象。
    
    //5.从解析后的对象中获取到pathname(这里pathObj.pathname是/index.html)
    var filePath = path.join(staticPath, pathObj.pathname);   //path.join方法,拼接完整项目目录地址。
    //6.fileContent拼接后的项目目录名字(这里是E:\subject\act\index.html)
            
    //fs.readFileSync方法,同步读取文件信息                                                          
    var fileContent = fs.readFileSync(filePath,'binary');     //读取拼接完整后的目录中的文件, 'binary'表示二进制方式读取   
    
    res.write(fileContent,'binary');
    res.end();  

     // 注意:因为是同步请求,这个地方会出现一个问题,当文件没获取完,我们就打开网址的话,服务器就会报错、崩溃
     // 推荐使用异步

       //异步读取文件数据
    fs.readFile(filePath,'binary',function(err,fileContent){
        if(err){    //如果报错,显示404,不会导致服务器崩溃了。
            res.writeHead(404,"Not Found");
            res.end('<h1>404 Not Found!</h1>')  
        }else{
            res.writeHead(200,'ok');
            res.write(fileContent,'binary');
            res.end();  
        }
    });

 
server.listen(8888);


console.log('服务器已打开, 可以运行 http://localhost:8888');

四.、在cmd终端或者GIT Bash运行server.js(命令行node server.js)


运行结果.jpg

五.在浏览器中输入http://localhost:8888/index.html 就可以运行了

访问结果.jpg

B.运用插件anywhere(推荐)

一.全局下载 anywhere(命令行:npm install anywhere -g)


下载anywhere.png

二.开启 anywhere(命令行:anywhere 8888)


开启 anywhere.png

三.访问 http://localhost:8888/

访问结果.png

相关文章

  • 本地node.js服务器搭建

    本地node.js服务器搭建并通过浏览器访问服务器 github下载express https://github....

  • 【node.js】搭建可访问本地文件的服务器

    A.手动搭建 一.首先了解文件目录 二.新建assets文件夹,里面可放置各类静态资源(图片,网页,建模素材等),...

  • webpack配置基础[04]-搭建本地服务器

    webpack提供了一个可选的本地开发服务器,这个本地服务器基于node.js搭建,内部使用express框架,可...

  • 本地服务器搭建

    webpack提供了一个可选的本地开发服务器,这个本地服务器基于node.js搭建,内部使用express框架,可...

  • SVN 初始化项目使用

    搭建服务器 我们一般会在公司的内部搭建服务器,就是本地数据,如果要访问就可以再本机上访问本地服务器 这里我们搭建 ...

  • AndroidVideoMedia: Error opening

    解决办法是在App内搭建个微型的http服务器(NanoHTTPD)然后通过该本地的微型服务器访问本地视频文件来达...

  • 如何mock数据

    mock数据有搭建本地服务器mock和通过线上网站mock数据两种方法:1.搭建本地服务器安装node.js,使用...

  • 上传本地文件aar到本地maven服务器

    上传本地文件aar到本地maven服务器 1、使用Nexus直接上传本地aar文件,需要搭建本地的maven服务器...

  • mac内网穿透

    我们在做开发时,不想购买服务器,只想搭建我们本地的服务器,我们搭建的本地服务器只能供我们自己电脑的浏览器访问,或者...

  • 内网穿透(mac,window,linux通用)1分钟实现外网访

    我们在做开发时,不想购买服务器,只想搭建我们本地的服务器,我们搭建的本地服务器只能供我们自己电脑的浏览器访问,或者...

网友评论

      本文标题:【node.js】搭建可访问本地文件的服务器

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