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';
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;
}
Но ведь тогда di превращается в Service Locator, что как бы антипаттерн и такого же результата я могу достичь и без inversify.АК
inversify-я. но лично мне ближе к телу коа) но не суть)АК
АК
PS
inversify-я. но лично мне ближе к телу коа) но не суть)