nodejs搭建本地服务器并访问文件操作示例


Posted in NodeJs onMay 11, 2019

本文实例讲述了nodejs搭建本地服务器并访问文件操作。分享给大家供大家参考,具体如下:

安装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('服务成功开启')

cmd下开启服务:

$ node server.js

结果:

nodejs搭建本地服务器并访问文件操作示例

希望本文所述对大家nodejs程序设计有所帮助。

NodeJs 相关文章推荐
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
Sep 26 NodeJs
NodeJS学习笔记之(Url,QueryString,Path)模块
Jan 13 NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 NodeJs
nodeJS删除文件方法示例
Dec 25 NodeJs
Nodejs 和Session 原理及实战技巧小结
Aug 25 NodeJs
nodejs中art-template模板语法的引入及冲突解决方案
Nov 07 NodeJs
NodeJS如何实现同步的方法示例
Aug 24 NodeJs
NodeJs 文件系统操作模块fs使用方法详解
Nov 26 NodeJs
NodeJs操作MongoDB教程之分页功能以及常见问题
Apr 09 NodeJs
独立部署小程序基于nodejs的服务器过程详解
Jun 24 NodeJs
Nodejs 识别图片类型的方法
Aug 15 NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 #NodeJs
nodejs通过钉钉群机器人推送消息的实现代码
May 05 #NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 #NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 #NodeJs
nodejs检测因特网是否断开的解决方案
Apr 17 #NodeJs
Nodejs实现用户注册功能
Apr 14 #NodeJs
使用nodejs分离html文件里的js和css详解
Apr 12 #NodeJs
You might like
SSI指令
2006/11/25 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
js实现DIV的一些简单控制
2007/06/04 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
Python构建XML树结构的方法示例
2017/06/30 Python
pycharm设置注释颜色的方法
2018/05/23 Python
详解Python正则表达式re模块
2019/03/19 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
环境工程大学生个人的自我评价
2013/10/08 职场文书
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
学生检讨书怎么写
2014/10/09 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL