Node.js自定义实现文件路由功能


Posted in Javascript onSeptember 22, 2017

一、创建路由处理定义

//获取http模块 
var http = require('http'); 
//文件 模块 
var fs = require('fs'); 
//404文件 
var error = "./view/404.html"; 
//实现文件 相应函数以及404错误相应函数  
var Response = function (res, filePath) { 
  //读取 文件,然后给客户端 相应 
  fs.readFile(filePath, function (err, data) { 
    if (err) { 
      if (filePath != error) //如果出错输出404页面 
        Response(res, error); 
    } else { 
      res.writeHead(200, { 'Content-Type': 'text/html' }); 
      res.end(data); 
    } 
  }); 
}

二、创建服务器 ,监听路由处理

//创建和启动服务器 
var server = http.createServer(function (req, res) { 
  console.info(req.url); 
  //判断 URL,提供 不同的路由 
  var url = req.url; 
  if (url == '/index' || url == '/') { 
    //主页 
    var index = require('../view/index'); 
    index.write(res); 
  } else { 
    //制定文件输出view下的文件内容 
    Response(res, './view' + url); 
  } 
}); 
//启动服务器 
server.listen('3000', function () { 
  var address = server.address(); 
  console.info(address); 
  console.info('服务器启动成功:http://localhost:%s', address.port); 
});

Node.js自定义实现文件路由功能Node.js自定义实现文件路由功能

三 、首页模块响应

/** 
 * 主页内容响应处理 
 */ 
exports.write=function(res){ 
  res.writeHead(200,{'Content-Type':'text/html'}); 
  res.write('<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'); 
  res.write('<h1>主页内容2</h1>'); 
  res.end(); 
}

总结

以上所述是小编给大家介绍的Node.js自定义实现文件路由功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
web 页面分页打印的实现
Jun 22 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
Sep 03 Javascript
JavaScript 选中文字并响应获取的实现代码
Aug 28 Javascript
JavaScript中的null和undefined解析
Apr 14 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
Jul 02 Javascript
javascript实现带下拉子菜单的导航菜单效果
May 14 Javascript
理解javascript封装
Feb 23 Javascript
Bootstrap-table自定义可编辑每页显示记录数
Sep 07 Javascript
angularjs获取到My97DatePicker选中的值方法
Oct 02 Javascript
angular6 填坑之sdk的方法
Dec 27 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
May 24 Javascript
JS实现拖动模糊框特效
Aug 25 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 #Javascript
javascript计算渐变颜色的实例
Sep 22 #Javascript
利用Node.js了解与测量HTTP所花费的时间详解
Sep 22 #Javascript
原生JS实现日历组件的示例代码
Sep 22 #Javascript
BootstrapTable加载按钮功能实例代码详解
Sep 22 #Javascript
Bootstrap Table 删除和批量删除
Sep 22 #Javascript
jQury Ajax使用Token验证身份实例代码
Sep 22 #Javascript
You might like
PHP编程最快明白(第一讲 软件环境和准备工作)
2010/10/25 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
thinkPHP的表达式查询用法详解
2016/09/14 PHP
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
浅谈angular.copy() 深拷贝
2017/09/14 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
微信小程序如何使用canvas二维码保存至手机相册
2019/07/15 Javascript
详解JS函数防抖
2020/06/05 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
python编码最佳实践之总结
2016/02/14 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
Python函数式编程
2017/07/20 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
python自动循环定时开关机(非重启)测试
2019/08/26 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
python Timer 类使用介绍
2020/12/28 Python
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
2019年Java面试必问之经典试题
2012/09/12 面试题
市场营销专业毕业生自荐信
2013/11/02 职场文书
计算机专业毕业生自我鉴定
2014/01/16 职场文书
承租经营合作者协议书
2014/10/01 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
质检员岗位职责
2015/02/03 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
Vue+Flask实现图片传输功能
2022/04/01 Vue.js
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA