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教程之异步I/O
Nov 21 NodeJs
NodeJS学习笔记之FS文件模块
Jan 13 NodeJs
Nodejs实战心得之eventproxy模块控制并发
Oct 27 NodeJs
Nodejs+Socket.io实现通讯实例代码
Feb 13 NodeJs
nodejs中使用HTTP分块响应和定时器示例代码
Mar 19 NodeJs
NodeJs安装npm包一直失败的解决方法
Apr 28 NodeJs
mac下的nodejs环境安装的步骤
May 24 NodeJs
NodeJS 实现手机短信验证模块阿里大于功能
Jun 19 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
nodejs实现套接字服务功能详解
Jun 21 NodeJs
nodejs基础之多进程实例详解
Dec 27 NodeJs
NodeJS有难度的面试题(能答对几个)
Oct 09 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类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
JS交换变量的方法
2015/01/21 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
jquery中添加属性和删除属性
2015/06/03 Javascript
纯js实现无限空间大小的本地存储
2015/06/18 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
easyui validatebox验证
2016/04/29 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
深入理解Vue transition源码分析
2017/07/30 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
小程序如何定位所在城市及发起周边搜索
2020/02/11 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
python求质数列表的例子
2019/11/24 Python
Python如何使用函数做字典的值
2019/11/30 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
python中threading开启关闭线程操作
2020/05/02 Python
Python xlrd/xlwt 创建excel文件及常用操作
2020/09/24 Python
Pycharm github配置实现过程图解
2020/10/13 Python
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
优秀求职自荐信怎样写
2013/12/18 职场文书
迟到检讨书5000字
2014/01/31 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
仓库管理计划书
2014/05/04 职场文书
春季防火方案
2014/05/10 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书