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 url验证(url-valid)的使用方法
Nov 18 NodeJs
详谈nodejs异步编程
Dec 04 NodeJs
ubuntu下安装nodejs以及升级的办法
May 08 NodeJs
详解nodejs 文本操作模块-fs模块(一)
Dec 22 NodeJs
详解nodejs中exports和module.exports的区别
Feb 17 NodeJs
详解nodejs中express搭建权限管理系统
Sep 15 NodeJs
NodeJS爬虫实例之糗事百科
Dec 14 NodeJs
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
Mar 02 NodeJs
nodejs微信开发之授权登录+获取用户信息
Mar 17 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 NodeJs
nodejs一个简单的文件服务器的创建方法
Sep 13 NodeJs
在NodeJs中使用node-schedule增加定时器任务的方法
Jun 08 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
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
js tab效果的实现代码
2009/12/26 Javascript
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
jquery一句话全选/取消全选
2011/03/01 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
Vue精简版风格指南(推荐)
2018/01/30 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
Django框架反向解析操作详解
2019/11/28 Python
HTML5样式控制示例代码
2013/11/27 HTML / CSS
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
餐饮加盟计划书
2014/01/10 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
大学活动总结模板
2014/07/10 职场文书
离职感谢信
2015/01/21 职场文书
2015年调度员工作总结
2015/04/30 职场文书
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python
pycharm无法安装cv2模块问题
2022/05/20 Python