Я знаю, что ошибка говорит само за себя, но на самом деле я не очень хорош с Awilix.
Вот мой загрузчик / index.js:
export default () => {
const container = createContainer();
container.loadModules([
['services/*.js', { register: asClass }],
['controllers/routes/*.js', { register: asClass }],
['global-controllers/*.js', { register: asFunction }]
], {
formatName: 'camelCase',
resolverOptions: {
lifetime: Lifetime.SINGLETON
}
});
container.register({
apiController: asFunction(apiController).singleton(),
schemas: asFunction(schemas)
});
container.register({
errors: asValue(errors),
Sequelize: asValue(Sequelize),
context: asFunction(context)
});
return container;
};
И вот я его использую:
export default async (container) => {
await container.resolve('context').sequelize.sync({ force: true });
const app = express();
app.use('/static', express.static(join(__dirname, './api/views/')));
app.use(cookieParser(key));
app.use(json());
app.use('/api', container.resolve('cacheGlobal'));
app.use('/api', container.resolve('apiController'));
app.use('/api', container.resolve('errorGlobal'));
return app;
}
Полное сообщение об ошибке:
UnhandledPromiseRejectionWarning: AwilixResolutionError: Не удалось разрешить 'cacheGlobal'. "
Я подумал, что это может бытьПроблема с разрешением имен Я попробовал несколько способов, и однажды это сработало! Почти что Router.use () получил объект, и он все еще падал.