用nodeJS搭建本地文件服务器的几种方法小结


Posted in NodeJs onMarch 16, 2017

搭建nodejs服务器步骤:

1.安装nodejs服务,node相当于apache服务器

2.在自己定义的目录下新建服务器文件如 server.js

例如,我在E:\PhpProject\HTML5\websocket下创建了server.js文件

var http = require('http');//引入http模块

//开启服务,监听8888端口
//端口号最好为6000以上
var server = http.createServer(function(req,res){
  /*
    req用来接受客户端数据
    res用来向客户端发送服务器数据
  */

  console.log('有客户端连接');//创建连接成功显示在后台

  //一参是http请求状态,200连接成功
  //连接成功后向客户端写入头信息
  res.writeHeader(200,{
    'content-type' : 'text/html;charset="utf-8"'
  });

  res.write('这是正文部分');//显示给客户端
  res.end();

}).listen(8888);

console.log('服务器开启成功');

3.在cmd控制台中cd切换进server.js所在的目录,然后执行node server.js命令

当控制台显示”服务器开启成功”则说明node服务器已经建立

4.在浏览器中访问服务器

在浏览器中输入

localhost:8888 , 浏览器显示“这是正文部分”。

查看cmd控制台,显示 “有客户端连接”

可在多个浏览器窗口中进行以上操作,每个浏览器窗口均会对应一次“有客户端连接”

以上步骤完成,node服务搭建完毕。下面是如何通过搭建的node服务访问本地站点的 text/html文本文件

访问本地站点文件

1.在自定义的目录下创建node服务文件server2.js

var http = require('http');
var fs = require('fs');//引入文件读取模块

var documentRoot = 'E:/PhpProject/html5/websocket/www';
//需要访问的文件的存放目录

var server= http.createServer(function(req,res){

  var url = req.url; 
  //客户端输入的url,例如如果输入localhost:8888/index.html
  //那么这里的url == /index.html 

  var file = documentRoot + url;
  console.log(url);
  //E:/PhpProject/html5/websocket/www/index.html 


  fs.readFile( file , function(err,data){
  /*
    一参为文件路径
    二参为回调函数
      回调函数的一参为读取错误返回的信息,返回空就没有错误
      二参为读取成功返回的文本内容
  */
    if(err){
      res.writeHeader(404,{
        'content-type' : 'text/html;charset="utf-8"'
      });
      res.write('<h1>404错误</h1><p>你要找的页面不存在</p>');
      res.end();
    }else{
      res.writeHeader(200,{
        'content-type' : 'text/html;charset="utf-8"'
      });
      res.write(data);//将index.html显示在客户端
      res.end();

    }

  });



}).listen(8888);

console.log('服务器开启成功');

2.创建index.html文件

如果要访问index.html文件,当然你得先有这个文件,不然服务器读取失败,返回404

3.在cmd控制台cd切换到 server2.js的目录下执行node server2.js命令

开启服务器

4.在浏览器输入localhost:8888/index.html访问 该文件

如果电脑没有安装nodejs的同学可以先到node官方下载并安装好node程序。

安装好nodejs后验证一下是否安装成功!如果出现则表明node已经承装安装上去了!

安装好node之后打开cmd 输入 npm install anywhere -g  安装anywhere ,然后等待直到出现以下界面。

以上两个步骤都就绪以后,万事俱备,只欠东风啦!在cmd页面 找到你想搭建服务器的路径,然后再当前路径下输入: anywhere 8860

然后浏览器就自动打开本地访问网址,一个简单的node服务器就这样被我们搭建好啦!

END

注意事项

  • anywhere 建议安装全局的
  • node 建议用32位的,64位目前兼容性没有32位好

 如果我们直接打开html文件他是以file:///方式打开的,但这种方式有时会遇到跨域的问题:“cross-origin”,所以我们需要搭建一个简易的本地服务器,Nodejs就可以满足我们这个需求:

比如我的本地服务器js文件就是这样的(我把这个server.js放在了Nodejs安装目录下):

var connect = require("connect");
var serveStatic = require("serve-static");

var app = connect();
app.use(serveStatic("C:\\xxx\\xxx\\xxx\\项目文件夹"));

app.listen(5000);

运行的话只要执行:node server.js 就可以了

正常运行后我们就可以在浏览器输入localhost:5000来访问项目文件夹内的文件了。(如果是index.html文件可以省略不写,默认加载的就是这个文件)

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

NodeJs 相关文章推荐
轻松创建nodejs服务器(5):事件处理程序
Dec 18 NodeJs
Nodejs全局安装和本地安装的不同之处
Jul 04 NodeJs
详解nodejs微信公众号开发——5.素材管理接口
Apr 11 NodeJs
nodejs6下使用koa2框架实例
May 18 NodeJs
Nodejs搭建wss服务器教程
May 24 NodeJs
Nodejs+express+ejs简单使用实例代码
Sep 18 NodeJs
Nodejs异步回调之异常处理实例分析
Jun 22 NodeJs
关于NodeJS中的循环引用详解
Jul 23 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 NodeJs
nodejs如何在package.json中设置多条启动命令
Mar 16 NodeJs
在nodejs中创建child process的方法
Jan 26 NodeJs
NodeJS和浏览器中this关键字的不同之处
Mar 03 NodeJs
nodejs+express实现文件上传下载管理网站
Mar 15 #NodeJs
nodejs搭建本地http服务器教程
Mar 13 #NodeJs
搭建简单的nodejs http服务器详解
Mar 09 #NodeJs
nodejs读写json文件的简单方法(必看)
Mar 09 #NodeJs
Nodejs 获取时间加手机标识的32位标识实现代码
Mar 07 #NodeJs
nodejs中全局变量的实例解析
Mar 07 #NodeJs
nodejs根据ip数组在百度地图中进行定位
Mar 06 #NodeJs
You might like
header()函数使用说明
2006/11/23 PHP
整理的一些实用WordPress后台MySQL操作命令
2013/01/07 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
PHP防止post重复提交数据的简单例子
2014/06/07 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
JS判定是否原生方法
2013/07/22 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
详解python分布式进程
2018/10/08 Python
python 用下标截取字符串的实例
2018/12/25 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
法国在线药房:1001Pharmacies
2021/03/07 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
党员学习党的群众路线思想汇报(5篇)
2014/09/10 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
php实例化对象的实例方法
2021/11/17 PHP
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python