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 基础篇4 window对象,DOM
Mar 14 Javascript
jquery模拟LCD 时钟的html文件源代码
Jun 16 Javascript
提高jQuery性能优化的技巧
Aug 03 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
Mar 01 Javascript
JS简单实现点击复制链接的方法
Aug 03 Javascript
微信小程序搜索组件wxSearch实例详解
Jun 08 Javascript
浅谈AngularJS中$http服务的简单用法
May 15 Javascript
关于单文件组件.vue的使用
Sep 20 Javascript
创建Vue项目以及引入Iview的方法示例
Dec 03 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
Mar 27 Javascript
ElementUI Tag组件实现多标签生成的方法示例
Jul 08 Javascript
JS监听组合按键思路及实现过程
Apr 17 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
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
JQuery页面地址处理插件jqURL详解
2015/05/03 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
基于Vue生产环境部署详解
2017/09/15 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
python设计模式大全
2016/06/27 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
django的settings中设置中文支持的实现
2019/04/28 Python
python基于event实现线程间通信控制
2020/01/13 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
python中time、datetime模块的使用
2020/12/14 Python
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
怎么写有吸引力的自荐信
2013/11/17 职场文书
寒假思想汇报
2014/01/10 职场文书
五一手机促销方案
2014/03/08 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
Vue ECharts实现机舱座位选择展示功能
2022/05/15 Vue.js