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之请求路由概述
Jul 05 NodeJs
NodeJS使用formidable实现文件上传
Oct 27 NodeJs
Nodejs基于LRU算法实现的缓存处理操作示例
Mar 17 NodeJs
NodeJs使用Mysql模块实现事务处理实例
May 31 NodeJs
详解HTTPS 的原理和 NodeJS 的实现
Jul 04 NodeJs
理解nodejs的stream和pipe机制的原理和实现
Aug 12 NodeJs
nodejs操作mongodb的增删改查功能实例
Nov 09 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
详解NODEJS的http实现
Jan 04 NodeJs
NodeJS模块与ES6模块系统语法及注意点详解
Jan 04 NodeJs
Nodejs在局域网配置https访问的实现方法
Oct 17 NodeJs
nodejs使用Sequelize框架操作数据库的实现
Oct 21 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简单封装了一些常用JS操作
2007/02/25 PHP
php学习笔记 类的声明与对象实例化
2011/06/13 PHP
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
JS 实现完美include载入实现代码
2010/08/05 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
alert出数组中的随即值代码
2014/09/25 Javascript
浅谈javascript中for in 和 for each in的区别
2015/04/23 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
JS中准确判断变量类型的方法
2020/06/01 Javascript
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
浅析Python中的join()方法的使用
2015/05/19 Python
Python入门之后再看点什么好?
2018/03/05 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
Python 中Operator模块的使用
2021/01/30 Python
学校标语大全
2014/06/19 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
升职感谢信
2015/01/22 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
2019通用版导游词范本!
2019/08/07 职场文书