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中的VM模块详解
May 06 NodeJs
使用DNode实现php和nodejs之间通信的简单实例
Jul 06 NodeJs
nodejs学习笔记之路由
Mar 27 NodeJs
详解nodejs微信公众号开发——4.自动回复各种消息
Apr 11 NodeJs
NodeJs安装npm包一直失败的解决方法
Apr 28 NodeJs
nodejs acl的用户权限管理详解
Mar 14 NodeJs
nodejs实现超简单生成二维码的方法
Mar 17 NodeJs
深入理解nodejs搭建静态服务器(实现命令行)
Feb 05 NodeJs
nodejs log4js 使用详解
May 31 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 NodeJs
用Nodejs实现在终端中炒股的实现
Oct 18 NodeJs
nodejs中使用worker_threads来创建新的线程的方法
Jan 22 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
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
自动分页的不完整解决方案
2007/01/12 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
基于jquery animate操作css样式属性小结
2015/11/27 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
vue+echarts实现动态折线图的方法与注意
2020/09/01 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
[01:01:52]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第二场 1月9日
2021/03/11 DOTA
python复制与引用用法分析
2015/04/08 Python
Python使用Scrapy爬取妹子图
2015/05/28 Python
浅谈python写入大量文件的问题
2018/11/09 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
大学生优秀的自我评价分享
2013/10/22 职场文书
大学在校生求职信范文
2013/11/21 职场文书
会计学生自我鉴定
2014/02/06 职场文书
书法比赛获奖感言
2014/02/10 职场文书
地球上的星星观后感
2015/06/02 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
2019年工作总结范文
2019/05/21 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏