V
Size: a a a
V
S🛸
V
V
S🛸
V
S🛸
V
D
ИК
ИК
AS
S🛸
PS
import Router from '@koa/router';где-то снаружи вызывается эта
export default function setupRoutes(config = {}) {
const router = new Router(config);
router.get('/', ctx => {
// ...
});
router.post('/users/:id', ctx => {
// ...
})
return router;
}
setupRoutes
и вернувшиеся роуты маунтятся на веб-сервер.container
внутрь setupRoutes
и уже там делать что-то типа такого?import { TYPES } from '~/services';Но ведь тогда di превращается в Service Locator, что как бы антипаттерн и такого же результата я могу достичь и без
export default function setupRoutes(container, config = {}) {
// ...
router.post('/users/:id', async ctx => {
const user = ctx.body;
// validation here...
const usersService = container.get(TYPES.UsersService);
await usersService.createUser(ctx.body);
// ...
})
return router;
}
inversify
.АК
inversify
-я. но лично мне ближе к телу коа) но не суть)АК
АК
PS
inversify
-я. но лично мне ближе к телу коа) но не суть)