nodejs搭建本地服务器并访问文件操作示例


Posted in NodeJs onMay 11, 2019

本文实例讲述了nodejs搭建本地服务器并访问文件操作。分享给大家供大家参考,具体如下:

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

cmd下开启服务:

$ node server.js

结果:

nodejs搭建本地服务器并访问文件操作示例

希望本文所述对大家nodejs程序设计有所帮助。

NodeJs 相关文章推荐
nodejs的10个性能优化技巧
Jul 15 NodeJs
基于NodeJS的前后端分离的思考与实践(二)模版探索
Sep 26 NodeJs
PHP和NodeJs开发的应用如何共用Session
Apr 16 NodeJs
NodeJS学习笔记之Module的简介
Mar 24 NodeJs
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
Mar 28 NodeJs
初识NodeJS服务端开发入门(Express+MySQL)
Apr 07 NodeJs
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
Jul 05 NodeJs
Nodejs实现文件上传的示例代码
Sep 26 NodeJs
NodeJs form-data格式传输文件的方法
Dec 13 NodeJs
nodejs操作mongodb的填删改查模块的制作及引入实例
Jan 02 NodeJs
nodejs实现解析xml字符串为对象的方法示例
Mar 14 NodeJs
nodejs express配置自签名https服务器的方法
May 22 NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 #NodeJs
nodejs通过钉钉群机器人推送消息的实现代码
May 05 #NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 #NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 #NodeJs
nodejs检测因特网是否断开的解决方案
Apr 17 #NodeJs
Nodejs实现用户注册功能
Apr 14 #NodeJs
使用nodejs分离html文件里的js和css详解
Apr 12 #NodeJs
You might like
PHP生成静态页面详解
2006/11/19 PHP
php获得当前的脚本网址
2007/12/10 PHP
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
PHP开发的微信现金红包功能示例
2017/06/29 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
Javascript 入门基础学习
2010/03/10 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
Javascript中replace()小结
2015/09/30 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
Python实现获取操作系统版本信息方法
2015/04/08 Python
在Django的视图中使用数据库查询的方法
2015/07/16 Python
python利用datetime模块计算时间差
2015/08/04 Python
python的re模块使用方法详解
2019/07/26 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
法国发饰品牌:Alexandre De Paris
2018/12/04 全球购物
易程科技软件测试笔试
2013/03/24 面试题
Java程序员综合测试题
2014/04/25 面试题
夜大毕业生自我鉴定
2013/10/31 职场文书
经贸日语专业个人求职信
2013/12/13 职场文书
计算机系本科生求职信
2014/05/31 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
2014年环卫工作总结
2014/11/22 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP
Java基于字符界面的简易收银台
2021/06/26 Java/Android
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python