用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 实现模拟form表单上传文件
Jul 14 NodeJs
基于html5和nodejs相结合实现websocket即使通讯
Nov 19 NodeJs
NodeJS中的MongoDB快速入门详细教程
Nov 11 NodeJs
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
Sep 18 NodeJs
nodejs调取微信收货地址的方法
Dec 20 NodeJs
nodejs 日志模块winston的使用方法
May 02 NodeJs
NodeJs入门教程之定时器和队列
Mar 08 NodeJs
nodejs中实现修改用户路由功能
May 24 NodeJs
nodejs读取图片返回给浏览器显示
Jul 25 NodeJs
NodeJs 实现简单WebSocket即时通讯的示例代码
Aug 05 NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 NodeJs
一文秒懂nodejs中的异步编程
Jan 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操作xml并将其插入数据库的实现方法
2016/09/08 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
服务器安全设置的几个注册表设置
2007/07/28 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
深入探究node之Transform
2017/07/20 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
python实现多线程网页下载器
2018/04/15 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
python网络编程之五子棋游戏
2020/05/14 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
品牌宣传方案
2014/03/21 职场文书
公司请假条范文
2014/04/11 职场文书
工作评语大全
2014/04/26 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
八达岭长城导游词
2015/01/30 职场文书
中考学习决心书
2015/02/04 职场文书
社区义诊通知
2015/04/24 职场文书
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android
Golang 结构体数据集合
2022/04/22 Golang