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文件操作模块FS(File System)常用函数简明总结
Jun 05 NodeJs
Windows系统中安装nodejs图文教程
Feb 28 NodeJs
用NodeJS实现批量查询地理位置的经纬度接口
Aug 16 NodeJs
nodejs个人博客开发第三步 载入页面
Apr 12 NodeJs
nodejs动态创建二维码的方法
Aug 12 NodeJs
nodejs中art-template模板语法的引入及冲突解决方案
Nov 07 NodeJs
详解IWinter 一个路由转控制器的 Nodejs 库
Nov 15 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
nodejs 如何手动实现服务器
Aug 20 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
nodejs实现日志读取、日志查找及日志刷新的方法分析
May 20 NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
一个高ai的分页函数和一个url函数
2006/10/09 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
分享27个jQuery 表单插件集合推荐
2011/04/25 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
JS的数组迭代方法
2015/02/05 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
[32:30]夜魇凡尔赛茶话会 第一期01:谁是卧底
2021/03/11 DOTA
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
使用Python进行目录的对比方法
2018/11/01 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
个人思想理论学习的自我鉴定
2013/11/30 职场文书
幼儿园门卫制度
2014/01/29 职场文书
2014年协会工作总结
2014/11/22 职场文书
财务部会计岗位职责
2015/02/03 职场文书
2015年医院工作总结范文
2015/04/09 职场文书
画展观后感
2015/06/17 职场文书
检举信的写法
2019/04/10 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript