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学习小结(一)
Jul 06 NodeJs
NodeJS学习笔记之网络编程
Aug 03 NodeJs
Nodejs Post请求报socket hang up错误的解决办法
Sep 25 NodeJs
nodejs中转换URL字符串与查询字符串详解
Nov 26 NodeJs
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
Aug 21 NodeJs
nodejs微信公众号支付开发
Sep 19 NodeJs
NodeJS实现视频转码的示例代码
Nov 18 NodeJs
NodeJS 实现多语言的示例代码
Sep 11 NodeJs
详解Nodejs get获取远程服务器接口数据
Mar 26 NodeJs
nodejs使用node-xlsx生成excel的方法示例
Aug 22 NodeJs
Nodejs实现WebSocket代码实例
May 19 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学习之字符串比较和查找
2011/04/17 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
Function.prototype.bind用法示例
2013/09/16 Javascript
JavaScript中setInterval的用法总结
2013/11/20 Javascript
nodejs教程之入门
2014/11/21 NodeJs
AngularJS实现表单验证
2015/01/28 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
13个PHP函数超实用
2015/10/21 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
Python基于twisted实现简单的web服务器
2014/09/29 Python
你应该知道的python列表去重方法
2017/01/17 Python
python实现人脸识别代码
2017/11/08 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
浅析Python数据处理
2018/05/02 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
python中selenium库的基本使用详解
2020/07/31 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
链表面试题-一个链表的结点结构
2015/05/04 面试题
.net软件工程师面试题
2015/03/31 面试题
IT工程师岗位职责
2014/07/04 职场文书
2014年妇女工作总结
2014/12/06 职场文书
安全先进个人材料
2014/12/29 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
法人身份证明书
2015/06/18 职场文书
小学体育组工作总结
2015/08/13 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
java设计模式--原型模式详解
2021/07/21 Java/Android
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS