如何在Express中呈现其他控制器(服务器)文件?

时间:2016-04-23 13:48:40

标签: express router

我正在使用express制作简单的Todo list Web应用程序。从experss generator开始。

我有app.js文件,我的讲座描述了将所有代码放在app.js文件中,但我想将它们分开保存。

所以我在todos.js文件夹中生成routes。这是我的简单结构

project
  |-app.js
  |
  |-routes
      |-index.js
      |-todos.js

我想添加get,post,put和delete;我todos.js上的CRUD功能 我怎样才能做到这一点?我检查了他们的官方手抄本,但没有真正理解它(http://expressjs.com/ko/4x/api.html#router

有人可以帮我理解或解释怎么做吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

它应该是这样的。

todos.js

router.get('/',function(req,res,next) {...} );
router.put('/',function(req,res,next) {...} );
router.post('/', function(req,res,next() {...});
router.delete('/', function(req,res,next() {...});

module.exports = router;

index.js

var todosAPI = require('./todos.js');

var configRoutes = function(app){
    app.use('/todos',todosAPI);
}
module.exports = configRoutes;

app.js

var app = express();
var routes = require('./routes/index.js');
routes(app);

------------------- 没有index.js ----------------- ------

todos.js

router.get('/',function(req,res,next) {...} );
router.put('/',function(req,res,next) {...} );
router.post('/', function(req,res,next() {...});
router.delete('/', function(req,res,next() {...});

module.exports = router;

app.js

var app = express();
var routes = require('./routes/todos.js');
app.use('/todos',routes)