nodejs注入inject

2294 ワード

条件によって注入が必要なオブジェクトがある場合は、簡単に注入することができます.例えば、配置によって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();
}
アメリカ.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);
    }

}