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 相关文章推荐
json简单介绍
Jun 10 Javascript
用JS写的一个TableView控件代码
Jan 23 Javascript
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
Dec 06 Javascript
从阶乘函数对比Javascript和C#的异同
May 31 Javascript
对jQuery的事件绑定的一些思考(补充)
Apr 20 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
Oct 31 Javascript
浅谈JavaScript中的字符编码转换问题
Jul 07 Javascript
深入探究AngularJs之$scope对象(作用域)
Jul 20 Javascript
node.js 用socket实现聊天的示例代码
Oct 17 Javascript
解决vue build打包之后首页白屏的问题
Mar 06 Javascript
代码分析vue中如何配置less
Sep 28 Javascript
vue+Element-ui前端实现分页效果
Nov 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
一个捕获函数输出的函数
2007/02/14 PHP
PHP 中执行排序与 MySQL 中排序
2009/04/21 PHP
openflashchart 2.0 简单案例php版
2012/05/21 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
PHP多进程编程实例
2014/10/15 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
js验证是否为数字的总结
2013/04/14 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
如何在node的express中使用socket.io
2014/12/15 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
AngularJS集合数据遍历显示的实例
2017/12/27 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
Python每天必学之bytes字节
2016/01/28 Python
Python 实现链表实例代码
2017/04/07 Python
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
Python PO设计模式的具体使用
2019/08/16 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
新闻编辑求职信
2014/04/09 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
卡特教练观后感
2015/06/08 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
SQL基础的查询语句
2021/11/11 MySQL
Python可视化学习之matplotlib内置单颜色
2022/02/24 Python