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 相关文章推荐
golang、python、php、c++、c、java、Nodejs性能对比
Mar 12 NodeJs
nodejs读取memcache示例分享
Jan 02 NodeJs
Nodejs实现多人同时在线移动鼠标的小游戏分享
Dec 06 NodeJs
nodejs中实现sleep功能实例
Mar 24 NodeJs
nodejs调用cmd命令实现复制目录
May 04 NodeJs
详解nodejs 文本操作模块-fs模块(五)
Dec 23 NodeJs
nodejs基础知识
Feb 03 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
nodejs搭建本地服务器轻松解决跨域问题
Mar 21 NodeJs
深入理解nodejs搭建静态服务器(实现命令行)
Feb 05 NodeJs
nodejs实现日志读取、日志查找及日志刷新的方法分析
May 20 NodeJs
nodejs的安装使用与npm的介绍
Sep 11 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
如何直接访问php实例对象中的private属性详解
2017/10/12 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
jquery中获取元素的几种方式小结
2011/07/05 Javascript
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
Vue-router中hash模式与history模式的区别详解
2020/12/15 Vue.js
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
python web框架中实现原生分页
2019/09/08 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
2014个人年终工作总结范文
2014/12/15 职场文书
音乐剧猫观后感
2015/06/04 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
Nginx进程管理和重载原理详解
2021/04/22 Servers
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers
Python 匹配文本并在其上一行追加文本
2022/05/11 Python