使用express.js动态加载路由

ano*_*fox 6 routes node.js express

我使用express.js作为网络服务器,并希望一种简单的方法将所有"app.get"和"app.post"功能分离为单独的文件.例如,如果我想为登录页面指定get和post函数,我想在一个动态加载的routes文件夹中有一个login.js文件(将自动添加所有文件而不必指定每个文件) )当我运行节点app.js

我试过这个解决方案!但它对我不起作用.

sac*_*hin 16

app.js

var express=require("express");
var app=express();
var fs=require("fs");
var routePath="./routers/"; //add one folder then put your route files there my router folder name is routers
fs.readdirSync(routePath).forEach(function(file) {
    var route=routePath+file;
    require(route)(app);
});
app.listen(9123);
Run Code Online (Sandbox Code Playgroud)

我在该文件夹中放置了两个路由器

route1.js

module.exports=function(app){
  app.get('/',function(req,res){
     res.send('/ called successfully...');
  });
}
Run Code Online (Sandbox Code Playgroud)

route2.js

module.exports=function(app){
app.get('/upload',function(req,res){
  res.send('/upload called successfully...');
});
}
Run Code Online (Sandbox Code Playgroud)