language nodejs
У меня громоздкий код, который повторяется во многих файлах одинаково: file1.js, file2.js, file3.js, ...,
каждый файл имеет свой экземпляр того же класса,
единственное отличие - это экземпляр объекта,
моя ситуация напоминает этот псевдокод
fileClass1.js
MyClass1{
constructor(name) {
this.name = name;
}
printName(from){
console.log("Hello "+this.name+" from "+from)
}
}
file1.js
var obj = obj1 = new MyClass1("name1")
//call MyClass1::printName()
obj.printName("foo")
obj.printName("bar")
//methods definition
obj.method2 = function(){}
obj.method3 = function(){}
file2.js
var obj = obj2 = new MyClass1("name2")
//call MyClass1::printName()
obj.printName("foo")
obj.printName("bar")
//methods definition
obj.method2(){}
obj.method3(){}
file3.js
var obj = obj3 = new MyClass1("name3")
//call MyClass1::printName()
obj.printName("foo")
obj.printName("bar")
//methods definition
obj.method2(){}
obj.method3(){}
. . .
результат, который я хотел бы получить, показан ниже:
файл include.js, содержащий код, который вызывает метод, и определение методов, или только один из двух, если оба невозможны
fileClass1.js
MyClass1{
printName(){
console.log("method1 Hello!")
}
}
file1.js
var obj = obj1 = new MyClass1("name1")
require(include.js)
file2.js
var obj = obj2 = new MyClass1("name1")
require(include.js)
file3.js
var obj = obj3 = new MyClass1("name1")
require(include.js)
. . .
include.js
//call MyClass1::printName()
obj.printName("foo")
obj.printName("bar")
//methods definition
obj.method2(){}
obj.method3(){}