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 相关文章推荐
ExtJS下grid的一些属性说明
Dec 13 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Nov 14 Javascript
Javascript中封装window.open解决不兼容问题
Sep 28 Javascript
jQuery实现文本展开收缩特效
Jun 03 Javascript
分享几种比较简单实用的JavaScript tabel切换
Dec 31 Javascript
基于javascript制作微信聊天面板
Aug 09 Javascript
vue自定义指令directive实例详解
Jan 17 Javascript
react-router 路由切换动画的实现示例
Dec 03 Javascript
基于axios 的responseType类型的设置方法
Oct 29 Javascript
微信小程序select下拉框实现源码
Nov 08 Javascript
JavaScript oncopy事件用法实例解析
May 13 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
Oct 26 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与XML的PDF文档生成技术
2006/10/09 PHP
两千行代码的PHP学习笔记汇总
2014/10/05 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
PHP模糊查询的实现方法(推荐)
2016/09/06 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
PHP中SESSION过期设置
2021/03/09 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
vue2.0与bootstrap3实现列表分页效果
2017/11/28 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
python实现按行切分文本文件的方法
2016/04/18 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
找到不普通的东西:Bonanza
2016/10/20 全球购物
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
大学生职业生涯规划书的基本内容
2014/01/06 职场文书
二年级数学教学反思
2014/01/21 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
业务员的岗位职责
2014/03/15 职场文书
2014年端午节演讲稿范文
2014/05/23 职场文书
会计学专业自荐信
2014/06/25 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
1000字打架检讨书
2014/11/03 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书
MySQL之DML语言
2021/04/05 MySQL
详解Python描述符的工作原理
2021/06/11 Python
Redis高并发缓存架构性能优化
2022/05/15 Redis