用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 npm install全局安装和本地安装的区别
Jun 05 NodeJs
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
Jul 15 NodeJs
NodeJS Web应用监听sock文件实例
Feb 18 NodeJs
NodeJS实现阿里大鱼短信通知发送
Jan 17 NodeJs
你一定会收藏的Nodejs代码片段
Feb 04 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
nodejs实现简单的gulp打包
Dec 21 NodeJs
nodejs实现OAuth2.0授权服务认证
Dec 27 NodeJs
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
May 15 NodeJs
nodejs中express入门和基础知识点学习
Sep 13 NodeJs
linux 下以二进制的方式安装 nodejs
Feb 12 NodeJs
NodeJs使用webpack打包项目的方法详解
Feb 28 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
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
Jquery Ajax的Get方式时需要注意URL地方
2011/04/07 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
JS原型对象通俗&quot;唱法&quot;
2012/12/27 Javascript
前台js对象在后台转化java对象的问题探讨
2013/12/20 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
基于JS实现前端压缩上传图片的实例代码
2019/05/14 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
python获取目录下所有文件的方法
2015/06/01 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
Python中dict和set的用法讲解
2019/03/28 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
毕业横幅标语
2014/10/08 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
2015年爱牙日活动总结
2015/03/23 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python
Spring-cloud Config Server的3种配置方式
2021/09/25 Java/Android
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技