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 相关文章推荐
jquery动态改变onclick属性导致失效的问题解决方法
Dec 04 Javascript
jQuery中after()方法用法实例
Dec 25 Javascript
使用javascript实现json数据以csv格式下载
Jan 09 Javascript
jQuery实现列表内容的动态载入特效
Aug 08 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
Nov 17 Javascript
使用Node.js搭建静态资源服务详细教程
Aug 02 Javascript
json2.js 入门教程之使用方法与实例分析
Sep 14 Javascript
VUE中的无限循环代码解析
Sep 22 Javascript
Vue引入sass并配置全局变量的方法
Jun 27 Javascript
swiper Scrollbar滚动条组件详解
Sep 08 Javascript
可拖拽组件slider.js使用方法详解
Dec 04 Javascript
修改NPM全局模式的默认安装路径的方法
Dec 15 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
第十一节--重载
2006/11/16 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
2014/01/09 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
2017/03/14 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
python分布式计算dispy的使用详解
2019/12/22 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
Kipling澳洲官网:购买凯浦林包包
2020/12/17 全球购物
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
业务助理岗位职责
2013/11/18 职场文书
制衣厂各岗位职责
2013/12/02 职场文书
秘书英文求职信范文
2014/01/31 职场文书
2014年班务工作总结
2014/12/02 职场文书
实习护士自荐信
2015/03/25 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
Django 实现jwt认证的示例
2021/04/30 Python
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers