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 相关文章推荐
JS基础之undefined与null的区别分析
Aug 08 Javascript
自己实现ajax封装示例分享
Apr 01 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
Dec 03 Javascript
javascript仿百度输入框提示自动下拉补全
Jan 07 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
Jun 12 Javascript
最好用的Bootstrap fileinput.js文件上传组件
Dec 12 Javascript
JS组件系列之JS组件封装过程详解
Apr 28 Javascript
JS判断时间段的实现代码
Jun 14 Javascript
修改vue+webpack run build的路径方法
Sep 01 Javascript
react-router 路由切换动画的实现示例
Dec 03 Javascript
在Vant的基础上封装下拉日期控件的代码示例
Dec 05 Javascript
通过jQuery学习js类型判断的技巧
May 27 jQuery
详解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/05/16 PHP
试用php中oci8扩展
2015/06/18 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
php中使用websocket详解
2016/09/23 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
Javascript 篱式条件判断
2008/08/22 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
python提取log文件内容并画出图表
2019/07/08 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
Python 使用office365邮箱的示例
2020/10/29 Python
Html5 Canvas 实现一个“刮刮乐”游戏
2019/09/05 HTML / CSS
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
有影响力的人、名人和艺术家的官方商品:Represent
2019/11/26 全球购物
Java如何格式化日期
2012/08/07 面试题
中学教师师德师风演讲稿
2014/08/22 职场文书
学生自我评语
2015/01/04 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android