nodejs搭建本地服务器并访问文件的方法


Posted in NodeJs onMarch 03, 2017

安装node:https://nodejs.org/en/download/

在本地建立目录:f:/nodetest,在该目录下新建index.html作为我们将要访问的内容。新建server.js作为node开启的入口:

$ cd f:/nodetest
$ mkdir index.html
$ mkdir server.js

index.html文件里简单写一点东西:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>node Test</title>
  <style type="text/css">
    html,body{
      margin: 0;
      padding: 0;
    }
    .node{
      width: 300px;
      margin: 0 auto;
      padding-top:100px; 
      text-align: center;
    }
    .node h1{
      color:rgb(33,199,40);
    }
  </style>
</head>
<body>
  <div class="node">
    <h1>Hello Nodejs</h1>
  </div>
</body>
</html>

接下来写server.js:

const PORT = 8888; //访问端口号8888  //端口号最好为6000以上
var http = require('http'); //引入http模块
var fs = require('fs'); //引入fs模块
var url = require('url');//引入url模块
var path = require('path');//引入path模块


// req : 从浏览器带来的请求信息
// res : 从服务器返回给浏览器的信息
var server = http.createServer(function(req,res){
  var pathname = url.parse(req.url).pathname;;
   //客户端输入的url,例如如果输入localhost:8888/index.html,那么这里的url == /index.html 
   //url.parse()方法将一个URL字符串转换成对象并返回,通过pathname来访问此url的地址。

  var realPath = path.join('F:/nodejs/nodetest',pathname);
  //完整的url路径
  console.log(realPath); 
  // F:/nodejs/nodetest/index.html

  fs.readFile(realPath,function(err,data){
    /*
    realPath为文件路径
    第二个参数为回调函数
      回调函数的一参为读取错误返回的信息,返回空就没有错误
      二参为读取成功返回的文本内容
    */
    if(err){
      //未找到文件
      res.writeHead(404,{
        'content-type':'text/plain'
      });
      res.write('404,页面不在');
      res.end();
    }else{
      //成功读取文件
      res.writeHead(200,{
        'content-type':'text/html;charset="utf-8'
      });
      res.write(data);
      res.end();
    }
  })
});
server.listen(PORT); //监听端口
console.log('服务成功开启')

结果:

nodejs搭建本地服务器并访问文件的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
Nodejs进程管理模块forever详解
Jun 01 NodeJs
我的NodeJs学习小结(一)
Jul 06 NodeJs
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
Jan 01 NodeJs
nodejs实现bigpipe异步加载页面方案
Jan 26 NodeJs
NodeJS整合银联网关支付(DEMO)
Nov 09 NodeJs
图片上传之FileAPI与NodeJs
Jan 24 NodeJs
详解nodejs爬虫程序解决gbk等中文编码问题
Apr 06 NodeJs
使用nodeJs来安装less及编译less文件为css文件的方法
Nov 20 NodeJs
nodejs实现范围请求的实现代码
Oct 12 NodeJs
nodejs实现获取本地文件夹下图片信息功能示例
Jun 22 NodeJs
浅谈vue websocket nodeJS 进行实时通信踩到的坑
Sep 22 NodeJs
浅谈Node的内存泄露问题
May 06 NodeJs
NodeJS仿WebApi路由示例
Feb 28 #NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 #NodeJs
NodeJs下的测试框架Mocha的简单介绍
Feb 22 #NodeJs
基于Nodejs利用socket.io实现多人聊天室
Feb 22 #NodeJs
NodeJS配置HTTPS服务实例分享
Feb 19 #NodeJs
解决nodejs中使用http请求返回值为html时乱码的问题
Feb 18 #NodeJs
利用nodejs监控文件变化并使用sftp上传到服务器
Feb 18 #NodeJs
You might like
PHP自动生成月历代码
2006/10/09 PHP
php仿ZOL分页类代码
2008/10/02 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
理解javascript正则表达式
2016/03/08 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
JavaScript递归操作实例浅析
2016/10/31 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
python中的随机函数小结
2018/01/27 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
美国智能家居专家:tink
2019/06/04 全球购物
妇科医生自荐信
2013/11/05 职场文书
化学专业毕业生自荐信
2013/11/15 职场文书
2014春晚主持词
2014/03/25 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
平安建设工作方案
2014/06/02 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
资金申请报告范文
2015/05/14 职场文书
致接力运动员加油稿
2015/07/21 职场文书
工伤调解协议书
2016/03/21 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle