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 中文字符串处理额外注意事项
Nov 15 Javascript
超简单的jquery的AJAX用法
May 10 Javascript
jsonp原理及使用
Oct 28 Javascript
jquery sortable的拖动方法示例详解
Jan 16 Javascript
javascript如何判断输入的url是否正确
Apr 11 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
Jul 29 Javascript
Node.js中如何合并两个复杂对象详解
Dec 31 Javascript
javascript 初学教程及五子棋小程序的简单实现
Jul 04 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
Jul 12 Javascript
详解js的作用域、预解析机制
Feb 05 Javascript
webpack中如何加载静态文件的方法步骤
May 18 Javascript
vue修饰符.capture和.self的区别
Apr 22 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
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
PHP网络操作函数汇总
2015/05/18 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
Js callBack 返回前一页的js方法
2008/11/30 Javascript
由document.body和document.documentElement想到的
2009/04/13 Javascript
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
JavaScript伪数组用法实例分析
2017/12/22 Javascript
vue脚手架中配置Sass的方法
2018/01/04 Javascript
vue.js实现h5机器人聊天(测试版)
2020/07/16 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
python网页请求urllib2模块简单封装代码
2014/02/07 Python
Python中replace方法实例分析
2014/08/20 Python
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
Django数据库操作之save与update的使用
2020/04/01 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
武汉某公司的C#笔试题面试题
2015/12/25 面试题
会计自我鉴定
2014/02/04 职场文书
商场促销活动方案
2014/02/08 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
店长岗位职责
2015/02/11 职场文书
常用的Python代码调试工具总结
2021/06/23 Python
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers
python高温预警数据获取实例
2022/07/23 Python