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教程之入门
Nov 21 NodeJs
NodeJS学习笔记之Connect中间件模块(一)
Jan 27 NodeJs
详解nodejs 文本操作模块-fs模块(二)
Dec 22 NodeJs
NodeJS实现客户端js加密
Jan 09 NodeJs
详解HTTPS 的原理和 NodeJS 的实现
Jul 04 NodeJs
nodejs实现爬取网站图片功能
Dec 14 NodeJs
nodejs 最新版安装npm 的使用详解
Jan 18 NodeJs
nodejs的路径问题的解决
Jun 30 NodeJs
nodejs读取本地中文json文件出现乱码解决方法
Oct 10 NodeJs
nodejs实现日志读取、日志查找及日志刷新的方法分析
May 20 NodeJs
浅谈JS和Nodejs中的事件驱动
May 05 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 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
Vuex入门到上手教程
2018/06/20 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
Python数据结构之翻转链表
2017/02/25 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
Python实现图片拼接的代码
2018/07/02 Python
python之super的使用小结
2018/08/13 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
python处理document文档保留原样式
2019/09/23 Python
python3 求约数的实例
2019/12/05 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
python实现图像拼接功能
2020/03/23 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
浅谈Python中的继承
2020/06/19 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
HTML5通用接口详解
2016/06/12 HTML / CSS
华为C++笔试题
2014/08/05 面试题
教师的实习自我鉴定
2013/12/17 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
导游词欢迎词
2015/02/02 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书