Nodejs动态加载路由,Nodejs遍历目录,Nodejs路由工具
2016-05-30 00:00
489 查看
摘要: Nodejs需要手动加载路由文件,如果一个个添加,项目逐渐扩大,比较麻烦。
尤其在项目route目录下,增加模块文件夹的时候,引入路由更是麻烦。
因此写了一个Nodejs动态加载路由,Nodejs遍历目录,Nodejs路由工具,取名为route.js。
工具来源:
Nodejs需要手动加载路由文件,如果一个个添加,项目逐渐扩大,比较麻烦。
尤其在项目route目录下,增加模块文件夹的时候,引入路由更是麻烦。
因此写了一个Nodejs动态加载路由,Nodejs遍历目录,Nodejs路由工具,取名为route.js。
支持无限级别目录结构,自动递归引用。有任何更好的建议,欢迎随时留意交流。
使用方法:
1、文件:app.js同级目录增加route.js文件,复制下面贴出源代码;
2、引入:app.js中引入:var route = require('./route');
3、调用:在app变量初始化之后,在app.js中使用route.init(app,[可选参数,路由目录,默认为./routes/]),即可动态加载路由文件了;
工具源代码:
尤其在项目route目录下,增加模块文件夹的时候,引入路由更是麻烦。
因此写了一个Nodejs动态加载路由,Nodejs遍历目录,Nodejs路由工具,取名为route.js。
工具来源:
Nodejs需要手动加载路由文件,如果一个个添加,项目逐渐扩大,比较麻烦。
尤其在项目route目录下,增加模块文件夹的时候,引入路由更是麻烦。
因此写了一个Nodejs动态加载路由,Nodejs遍历目录,Nodejs路由工具,取名为route.js。
支持无限级别目录结构,自动递归引用。有任何更好的建议,欢迎随时留意交流。
使用方法:
1、文件:app.js同级目录增加route.js文件,复制下面贴出源代码;
2、引入:app.js中引入:var route = require('./route');
3、调用:在app变量初始化之后,在app.js中使用route.init(app,[可选参数,路由目录,默认为./routes/]),即可动态加载路由文件了;
工具源代码:
/** * 动态遍历目录加载路由工具 * author: bling兴哥 */ var fs = require("fs"); // 动态路由 var loadRoute = { path : './routes/', app : null, // 遍历目录 listDir : function(dir){ var fileList = fs.readdirSync(dir,'utf-8'); for(var i=0;i<fileList.length;i++) { var stat = fs.lstatSync(dir + fileList[i]); // 是目录,需要继续 if (stat.isDirectory()) { this.listDir(dir + fileList[i] + '/'); } else { this.loadRoute(dir + fileList[i]); } } }, // 加载路由 loadRoute : function(routeFile){ console.log(routeFile); var route = require(routeFile.substring(0,routeFile.lastIndexOf('.'))); // 在路由文件中定义了一个basePath变量,设置路由路径前缀 if(route.basePath){ this.app.use(route.basePath,route); }else{ this.app.use(route); } }, // 初始化入口 init : function(app,path){ if(!app){ console.error("系统主参数App未设置"); return false; } this.app = app; this.path = path?path:this.path; this.listDir(this.path); } }; module.exports = loadRoute;
相关文章推荐
- 使用ruby部署工具mina快速部署nodejs应用教程
- Google官方支持的NodeJS访问API,提供后台登录授权
- 浅谈Nodejs观察者模式
- nodejs教程之环境安装及运行
- nodejs中的fiber(纤程)库详解
- 基于NodeJS的前后端分离的思考与实践(五)多终端适配
- 基于NodeJS的前后端分离的思考与实践(二)模版探索
- 实例详解Nodejs 保存 payload 发送过来的文件
- 我的NodeJs学习小结(一)
- Node.js 应用跑得更快 10 个技巧
- nodejs中实现sleep功能实例
- Nodejs异步回调的优雅处理方法
- Windows系统下使用Sublime搭建nodejs环境
- nodejs实现获取某宝商品分类
- nodejs简单实现中英文翻译
- Node.js插件的正确编写方式
- 使用upstart把nodejs应用封装为系统服务实例
- NodeJS Web应用监听sock文件实例
- Nodejs学习笔记之测试驱动
- Nodejs学习笔记之Stream模块