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学习笔记之Connect中间件应用实例
Jan 27 NodeJs
nodejs中实现sleep功能实例
Mar 24 NodeJs
nodejs导出excel的方法
Jun 30 NodeJs
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
Jul 26 NodeJs
NodeJS学习笔记之Module的简介
Mar 24 NodeJs
NodeJS测试框架mocha入门教程
Mar 28 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
nodejs调取微信收货地址的方法
Dec 20 NodeJs
Mac下通过brew安装指定版本的nodejs教程
May 17 NodeJs
Nodejs中的require函数的具体使用方法
Apr 02 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
PHP数字格式化
2006/12/06 PHP
PHP 模板高级篇总结
2006/12/21 PHP
详谈PHP编码转换问题
2015/07/28 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
Yii2框架数据库简单的增删改查语法小结
2016/08/31 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
php数组遍历类与用法示例
2019/05/24 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
Python中使用PDB库调试程序
2015/04/05 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
使用selenium模拟登录解决滑块验证问题的实现
2019/05/10 Python
django框架创建应用操作示例
2019/09/26 Python
将python安装信息加入注册表的示例
2019/11/20 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
html5录音功能实战示例
2019/03/25 HTML / CSS
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
自我评价个人范文
2013/12/16 职场文书
个人自荐书
2013/12/20 职场文书
相亲大会策划方案
2014/06/05 职场文书
2014年稽查工作总结
2014/12/20 职场文书
大学生村官个人总结
2015/02/15 职场文书