nodejs 注入 inject

当有些对象需要根据条件不同注入的时候,可以简单使用注入
如下例:根据配置不同创建不同的USER对象,注入到 tool.do 方法中,从而实现不同的效果

index.js 主函数

var tool = require("./tool.js");
// 此处是配置,根据配置决定 注入的是什么
var config = "Man";
if (config === "Man") {
    var USER = require("./man.js");
} else {
    var USER = require("./user.js");
}
var user = new USER("someone");

tool.do(user);

tool.js

exports.do = function test(user) {
    user.sayHi();
}

user.js

module.exports  = class User{
    constructor(name) {
        this.name = name;
    }
    sayHi(){
        console.log("hi user "+this.name);
    }
}

man.js

module.exports  = class MAN{
    constructor(name) {
        this.name = name;
    }
    sayHi(){
        console.log("hi man "+this.name);
    }

}

你可能感兴趣的:(nodejs)