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框架Express的模板视图机制分析
Jul 19 NodeJs
nodejs中实现阻塞实例
Mar 24 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
NodeJS处理Express中异步错误
Mar 26 NodeJs
NodeJS测试框架mocha入门教程
Mar 28 NodeJs
详解使用nodeJs安装Vue-cli
May 17 NodeJs
nodejs创建简易web服务器与文件读写的实例
Sep 07 NodeJs
nodejs判断文件、文件夹是否存在及删除的方法
Nov 10 NodeJs
nodejs+express搭建多人聊天室步骤
Feb 12 NodeJs
使用nodejs分离html文件里的js和css详解
Apr 12 NodeJs
nodejs中实现修改用户路由功能
May 24 NodeJs
ubuntu系统下使用pm2设置nodejs开机自启动的方法
May 12 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.NET的入门教程
2006/10/09 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
PHP中将网页导出为Word文档的代码
2012/05/25 PHP
php中文验证码实现示例分享
2014/01/12 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
PHP标准库 (SPL)――Countable用法示例
2020/06/05 PHP
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
JS显示下拉列表框内全部元素的方法
2015/03/31 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
javascript设置和获取cookie的方法实例详解
2016/01/05 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
了解重排与重绘
2019/05/29 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
JS实现放大镜效果
2020/09/21 Javascript
Python判断字符串与大小写转换
2015/06/08 Python
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
python之Character string(实例讲解)
2017/09/25 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
python批量读取文件名并写入txt文件中
2020/09/05 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
基于Python正确读取资源文件
2020/09/14 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
学雷锋志愿者活动总结
2014/06/27 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
优秀班主任申报材料
2014/12/16 职场文书
MySQL为id选择合适的数据类型
2021/06/07 MySQL
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript
java中如何截取字符串最后一位
2022/07/07 Java/Android