通常情况下,Awilix不会在加载模块时自动实例化类,需要手动调用容器的resolve方法来创建实例。以下是一个示例,演示如何使用Awilix来注入依赖并手动实例化类:
const awilix = require('awilix');
// 创建容器
const container = awilix.createContainer();
// 注册依赖
container.register({
userService: awilix.asClass(UserService)
});
// 手动解析并实例化类
const userService = container.resolve('userService');
userService.doSomething();
在以上示例中,我们首先通过实例化 awilix 模块创建了一个容器。接着,我们注册了我们需要依赖注入的服务。最后,通过调用 container.resolve() 方法来手动实例化我们需要的类。
如果你希望Awilix能够自动实例化类,可以使用 awilix-express 或 awilix-koa 这样的插件。这些插件会在路由处理程序中自动为你解析依赖。您可以在GitHub上查找它们的文档和范例。
上一篇:awilix容器中的类未被注册为依赖项或未被识别为类。
下一篇:Awirelesstemperature&humidityreaderandalinkedgatewaywithaNEXTIONdisplay,bothwithanArduinoesp8266