首页 > 解决方案 > 使用“awilix”进行依赖注入

问题描述

我正在使用 awilix 学习依赖注入。我按照教程尝试了下面的代码。我尝试了不同的方法,每次我得到以下错误:

  //diSetup.js:13
  var config = _ref.config;
  TypeError: Cannot read property 'config' of undefined
  [Screenshot][1]

我尝试了以下方法:

const awilix = require("awilix");

const config = {
   server: "8.8.8.8",
};


class UserController {
   constructor({ config }) {
     this.config = config;
  }
}

const container = awilix.createContainer({
   injectionMode: awilix.InjectionMode.PROXY,
});


container.register({
  config: awilix.asValue(config),
  userController: awilix.asClass(UserController),
});

 function setup() {
    const user = new UserController();
    console.log(user.config);
 }

 module.exports = { 
    container, 
    setup,
 };

标签: javascriptnode.jsawilix

解决方案


您正在设置函数中创建一个 UserController 实例。

你应该改用 awilix 解析函数。尝试这个:

const user = container.resolve("userController");

推荐阅读