nodejs搭建本地服务器并访问文件的方法


Posted in NodeJs onMarch 03, 2017

安装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('服务成功开启')

结果:

nodejs搭建本地服务器并访问文件的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
使用forever管理nodejs应用教程
Jun 03 NodeJs
nodejs中实现阻塞实例
Mar 24 NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 NodeJs
nodejs基础知识
Feb 03 NodeJs
nodejs动态创建二维码的方法
Aug 12 NodeJs
使用Nodejs连接mongodb数据库的实现代码
Aug 21 NodeJs
NodeJS收发GET和POST请求的示例代码
Aug 25 NodeJs
nodejs调取微信收货地址的方法
Dec 20 NodeJs
nodejs实现OAuth2.0授权服务认证
Dec 27 NodeJs
nodejs实现超简单生成二维码的方法
Mar 17 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
nodejs 使用 js 模块的方法实例详解
Dec 04 NodeJs
NodeJS仿WebApi路由示例
Feb 28 #NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 #NodeJs
NodeJs下的测试框架Mocha的简单介绍
Feb 22 #NodeJs
基于Nodejs利用socket.io实现多人聊天室
Feb 22 #NodeJs
NodeJS配置HTTPS服务实例分享
Feb 19 #NodeJs
解决nodejs中使用http请求返回值为html时乱码的问题
Feb 18 #NodeJs
利用nodejs监控文件变化并使用sftp上传到服务器
Feb 18 #NodeJs
You might like
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
PDO::prepare讲解
2019/01/29 PHP
如何判断图片地址是否失效
2007/02/02 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
jQuery中each循环的跳出和结束实例
2017/08/16 jQuery
JS设计模式之单例模式(一)
2017/09/29 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
python获取元素在数组中索引号的方法
2015/07/15 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
Python基于百度云文字识别API
2018/12/13 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
应用数学自荐书范文
2013/11/24 职场文书
触摸春天教学反思
2014/02/03 职场文书
新教师工作感言
2014/02/16 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
自我推荐信格式模板
2015/03/24 职场文书
学校食堂管理制度
2015/08/04 职场文书
2016新年晚会开场白
2015/12/03 职场文书
外出学习心得体会范文
2016/01/18 职场文书
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android