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 相关文章推荐
WordPress 插件——CoolCode使用方法与下载
Jul 02 Javascript
js动态创建、删除表格示例代码
Aug 07 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
Aug 13 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
Oct 01 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
Jan 22 Javascript
原生JS实现-星级评分系统的简单实例
Aug 21 Javascript
JavaScript 字符串常用操作小结(非常实用)
Nov 30 Javascript
bootstrap table分页模板和获取表中的ID方法
Jan 10 Javascript
利用CDN加速react webpack打包后的文件详解
Feb 22 Javascript
json对象及数组键值的深度大小写转换问题详解
Mar 30 Javascript
vue中v-show和v-if的异同及v-show用法
Jun 06 Javascript
ligerUI的ligerDialog关闭刷新的方法
Sep 27 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
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
详解基于Node.js的HTTP/2 Server实践
2018/05/31 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
python设置windows桌面壁纸的实现代码
2013/01/28 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python中List.count()方法的使用教程
2015/05/20 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
python实现二维数组的对角线遍历
2019/03/02 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
HEMA英国:荷兰原创设计
2018/08/28 全球购物
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
护理个人求职信范文
2014/01/08 职场文书
家长评语大全
2014/01/22 职场文书
陈欧广告词
2014/03/14 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
如何用python插入独创性声明
2021/03/31 Python
python 爬取吉首大学网站成绩单
2021/06/02 Python
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
公历12个月名称的由来
2022/04/12 杂记
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server