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入门详解(多篇文章结合)
Mar 07 NodeJs
将nodejs打包工具整合到鼠标右键的方法
May 11 NodeJs
利用NodeJS的子进程(child_process)调用系统命令的方法分享
Jun 05 NodeJs
NodeJS的url截取模块url-extract的使用实例
Nov 18 NodeJs
nodejs中转换URL字符串与查询字符串详解
Nov 26 NodeJs
轻松创建nodejs服务器(9):实现非阻塞操作
Dec 18 NodeJs
Nodejs全局安装和本地安装的不同之处
Jul 04 NodeJs
深入浅析Nodejs的Http模块
Jun 20 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
图解NodeJS实现登录注册功能
Sep 16 NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 NodeJs
Nodejs实现微信分账的示例代码
Jan 19 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实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
JavaScript实现一个空中避难的小游戏
2017/06/06 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
使用Template格式化Python字符串的方法
2019/01/22 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
对python中return与yield的区别详解
2020/03/12 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
社区八一活动方案
2014/02/03 职场文书
数控专业自荐书范文
2014/03/16 职场文书
厕所文明标语
2014/06/11 职场文书
医院节能减排方案
2014/06/13 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
财务出纳岗位职责
2015/03/31 职场文书
python基础之while循环语句的使用
2021/04/20 Python