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 相关文章推荐
XRegExp 0.2: Now With Named Capture
Nov 30 Javascript
基本jquery的控制tabs打开的数量的代码
Oct 17 Javascript
30个精美的jQuery幻灯片效果插件和教程
Aug 23 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
Aug 24 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
Oct 13 Javascript
js判断手机号运营商的方法
Oct 23 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
js中作用域的实例解析
Mar 16 Javascript
node前端开发模板引擎Jade的入门
May 11 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
Oct 23 Javascript
vue实现input输入模糊查询的三种方式
Aug 14 Vue.js
详解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
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
php数组合并与拆分实例分析
2015/06/12 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
PHP attributes()函数讲解
2019/02/03 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
基于jQuery实现表单提交验证
2014/11/24 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
关于javascript sort()排序你可能忽略的一点理解
2017/07/18 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
2019/06/28 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
python端口扫描系统实现方法
2014/11/19 Python
Python 字典与字符串的互转实例
2017/01/13 Python
python pyheatmap包绘制热力图
2018/11/09 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
哪些是python中web开发框架
2020/06/17 Python
用Python开发app后端有优势吗
2020/06/29 Python
Python pymsql模块的使用
2020/09/07 Python
Django celery异步任务实现代码示例
2020/11/26 Python
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
Reformation官网:美国女装品牌
2018/09/14 全球购物
贺卡寄语大全
2014/04/11 职场文书
倡议书格式范文
2014/04/14 职场文书
《少年王勃》教学反思
2014/04/27 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书