Используя эту ссылку в качестве ссылки https://github.com/visionmedia/express/tree/master/examples/route-separation на то, что "может быть сделано"
Я НЕ ИСПОЛЬЗУЮ EXPRESS.Я использую их в качестве примера.
Я хочу сделать что-то вроде этого, но "проще" ...
Как мне избежать объявления всех моих маршрутов за один раз?Сложный список все в одном файле?Могу ли я определить их, передав маршрутизатор в мои модули, а затем включив весь код в одну директорию ... хорошо, у меня будет один длинный документ, который требует только «требует», например index.js, для этогоодин, по крайней мере, один, который мои сценарии сборки могут пересобрать для меня, но желательно не в моем основном файле для каждого отдельного маршрута, который я могу добавить.
Так, например, они используют этот код:
// General
app.get('/', site.index);
// User
app.all('/users', user.list);
app.all('/user/:id/:op?', user.load);
app.get('/user/:id', user.view);
app.get('/user/:id/view', user.view);
app.get('/user/:id/edit', user.edit);
app.put('/user/:id/edit', user.update);
// Posts
app.get('/posts', post.list);
Я хочу избежать создания такого списка в моем app.js.Вместо этого я хочу, чтобы каждый файл знал, каковы маршруты для этого файла.
Вот что я хочу сделать: (пожалуйста, не критикуйте код, я делаю его очень простым, поэтому я делаюуверен, что я иллюстрирую свой код так, как хочу это сделать)
//app.js
var router = require('./myRouter.js')
var includes = require('./routes/*.js').register(router)
// do some stuff here with an https server and start the server here
и
//./routes/user.js
var myRouter;
exports.register(router){
myRouter = router;
}
router.addRoute(/* here I do the magic associated with this route */)
Могу ли я сделать это просто так?Что я здесь упускаю?
Я не написал этот код, потому что я просто уверен, что поступаю неправильно.
И если я собираюсьдолжен использовать что-то вроде index.js
в папке /routes/
, могу ли я использовать ту же концепцию, которую я продемонстрировал, которую я хотел бы использовать в своем коде .register(router)
, добавленном, чтобы я мог передать эту информацию рекурсивно?Будет ли это работать?