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 相关文章推荐
Google Map Api和GOOGLE Search Api整合实现代码
Jul 18 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
Jan 21 Javascript
javascript操作referer详细解析
Mar 10 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
Aug 23 Javascript
JS日期加减,日期运算代码
Nov 05 Javascript
第三篇Bootstrap网格基础
Jun 21 Javascript
JS前端加密算法示例
Dec 22 Javascript
js 性能优化之快速响应的用户界面
Feb 15 Javascript
vue-resourse将json数据输出实例
Mar 08 Javascript
vue项目总结之文件夹结构配置详解
Dec 13 Javascript
vue打包相关细节整理(小结)
Sep 28 Javascript
layui树形菜单动态遍历的例子
Sep 23 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导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
删除select中所有option选项jquery代码
2013/08/12 Javascript
javascript实现用户点击数量统计
2016/12/25 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
基于python历史天气采集的分析
2019/02/14 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python批量爬取下载抖音视频
2019/06/17 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
《两只鸟蛋》教学反思
2014/02/10 职场文书
《盘古开天地》教学反思
2014/02/28 职场文书
毕业晚会主持词
2014/03/24 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
2014年终个人工作总结
2014/11/07 职场文书
英文感谢信范文
2015/01/21 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书