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 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(3)
Dec 23 Javascript
Prototype PeriodicalExecuter对象 学习
Jul 19 Javascript
Javascript面向对象编程(二) 构造函数的继承
Aug 28 Javascript
javascript中的throttle和debounce浅析
Jun 06 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
Jul 02 Javascript
js文件包含的几种方式介绍
Sep 28 Javascript
PHP+mysql+Highcharts生成饼状图
May 04 Javascript
JQuery实现超链接鼠标提示效果的方法
Jun 10 Javascript
省市区三级联动下拉框菜单javascript版
Aug 11 Javascript
Mint UI组件库CheckList使用及踩坑总结
Dec 20 Javascript
详解微信小程序之一键复制到剪切板
Apr 24 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
Apr 22 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 正则学习实例
2008/07/30 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
php木马webshell扫描器代码
2012/01/25 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
laravel 数据验证规则详解
2019/10/23 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
javascript Window及document对象详细整理
2011/01/12 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
windows系统下更新nodejs版本的方案
2017/11/24 NodeJs
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
ligerUI的ligerDialog关闭刷新的方法
2019/09/27 Javascript
[07:26]2015国际邀请赛第二日TOP10集锦
2015/08/06 DOTA
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
python调用c++传递数组的实例
2019/02/13 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
在html页面中取得session中的值的方法
2020/08/11 HTML / CSS
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
最新大学职业规划书范文
2013/12/30 职场文书
生日邀请函范文
2014/01/13 职场文书
酒后驾驶检讨书
2014/01/27 职场文书
运动会邀请函范文
2014/02/06 职场文书
保护环境倡议书100字
2014/05/19 职场文书
行政监察建议书
2014/05/19 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript