您好,登錄后才能下訂單哦!
工具來源:
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;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。