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中使用monk访问mongodb
Jul 06 NodeJs
nodejs中实现路由功能
Dec 29 NodeJs
NodeJS学习笔记之Connect中间件应用实例
Jan 27 NodeJs
Nodejs初级阶段之express
Nov 23 NodeJs
NodeJs的fs读写删除移动监听
Apr 28 NodeJs
nodejs中解决异步嵌套循环和循环嵌套异步的问题
Jul 12 NodeJs
nodejs 图解express+supervisor+ejs的用法(推荐)
Sep 08 NodeJs
nodejs超出最大的调用栈错误问题
Dec 27 NodeJs
Nodejs下使用gm圆形裁剪并合成图片的示例
Feb 22 NodeJs
对mac下nodejs 更新到最新版本的最新方法(推荐)
May 17 NodeJs
NodeJS服务器实现gzip压缩的示例代码
Oct 12 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 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
php mssql 日期出现中文字符的解决方法
2009/03/10 PHP
PHP 观察者模式的实现代码
2013/05/10 PHP
php批量更改数据库表前缀实现方法
2013/10/26 PHP
总结PHP中数值计算的注意事项
2016/08/14 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
关于AOP在JS中的实现与应用详解
2019/05/06 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
Vue中全局变量的定义和使用
2019/06/05 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
2020/10/18 Javascript
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
django settings.py 配置文件及介绍
2019/07/15 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
python批量生成条形码的示例
2020/10/10 Python
Python实现疫情地图可视化
2021/02/05 Python
行政管理毕业生自荐信
2014/02/24 职场文书
交通事故调解协议书
2014/04/16 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python
Redis基本数据类型Set常用操作命令
2022/06/01 Redis