Express JS зачем использовать роутер?

Зачем мне это делать?

var router = express.Router();

router.get('/', ...)

вместо

app.get('/', ...);

Эти двое дадут мне одинаковый результат. Какой смысл создавать маршрутизатор, если приложение уже является маршрутизатором?

7 голосов | спросил user1834464 2 J0000006Europe/Moscow 2014, 01:11:24

1 ответ


0

Это полезно, если вы пишете очень сложное приложение. Например, у вас может быть такое дерево:

routes
    user.js
    post.js
server.js

В user.js и post.js , вы должны создать объект Router и экспортировать его. Вы можете присоединить все маршруты пользователя к этому маршрутизатору - скажем, /user/new, /user/edit и /user/1 и /post/new, /post/edit и /post/1.

В server.js вы бы require каждый из ваших маршрутов и присоедините их маршрутизаторы через app.use:

app.use('/user', user);
app.use('/post', post);

Все запросы к /user будут отправлены маршрутизатору пользователя, а все запросы к /post будет отправлено на почтовый маршрутизатор. Затем вы можете зарегистрировать маршруты как:

router.get('/new', function(req, res) { });

И он будет автоматически сопоставлен с /user/new или /post/new. Это полезно, потому что это помогает организовать ваше приложение и заставляет вас разделять один раздел приложения в один файл (разделение задач и все такое). Это полезная часть экспресса, которая не очень хорошо рекламируется.

ответил cpancake 2 J0000006Europe/Moscow 2014, 02:29:22

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132