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 相关文章推荐
用nodejs访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
windows系统下简单nodejs安装及环境配置
Jan 08 NodeJs
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
Sep 26 NodeJs
ubuntu下安装nodejs以及升级的办法
May 08 NodeJs
mac下的nodejs环境安装的步骤
May 24 NodeJs
nodejs 搭建简易服务器的图文教程(推荐)
Jul 18 NodeJs
nodejs实现爬取网站图片功能
Dec 14 NodeJs
nodejs 日志模块winston的使用方法
May 02 NodeJs
详解NodeJs开发微信公众号
May 25 NodeJs
nodejs 如何手动实现服务器
Aug 20 NodeJs
详解Nodejs get获取远程服务器接口数据
Mar 26 NodeJs
Sublime Text3 配置 NodeJs 环境的方法
May 20 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
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
php中socket通信机制实例详解
2015/01/03 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
php 多文件上传的实现实例
2016/10/23 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
2013/01/15 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
[42:20]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python中的with...as用法介绍
2015/05/28 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
python自动化生成IOS的图标
2018/11/13 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
药学专业毕业生求职信
2013/10/20 职场文书
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
C++程序员求职信范文
2014/04/14 职场文书
大学中国梦演讲稿
2014/04/23 职场文书
行政专员求职信范文
2014/05/03 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
Web应用开发TypeScript使用详解
2022/05/25 Javascript
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS