当有些对象需要根据条件不同注入的时候,可以简单使用注入
如下例:根据配置不同创建不同的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);
}
}