# Маршрутизация в Express

{% hint style="warning" %}
С увеличением количества кода в вашем проекте использования методов `get`, `post`, `put`, `delete` непосредственно на сущности вашего express-сервера может значительным образом ухудшить читабельность и поддержку вашего кода
{% endhint %}

```
const app = require('express')();

app.get('/', getHandler);
app.post('/', postHandler);

// ... a lot of code related to other routes

app.listen(3000);
```

{% hint style="success" %}
Для устранения проблемы, описанной выше, используются [роутеры](http://expressjs.com/ru/api.html#router). Данный подход помогает вам инкапсулировать логику, связанную с конкретными REST-ресурсами, в разных файлах
{% endhint %}

```
// router1.js or router2.js file
const router = express.Router();
router.get('/', getHandler);
router.post('/', postHandler);

module.exports = router;

// server.js file
const app = require('express')();
const router1 = require('<your_router1_file_path>');
const router2 = require('<your_router2_file_path>');
app.use(router1);
app.use(router2);

app.listen(3000);
```
