我有一个有很多方法的课。即使在重构之后拔出不使用this
上下文的块,每种方法仍然是几百行:
class BigFella {
constructor() {
// lots of stuff
}
bigMethod1() {
// 300 LOCs
}
bigMethod2() {
// 300 LOCs
}
}
很高兴为每个方法提供自己的文件,但我能想到的唯一方法就是:
import classMethod1 from './classMethod1';
class BigFella {
constructor() {
// lots of stuff
}
bigMethod1(a,b) {
return classMethod1.call(this, a,b);
}
}
这是最好的模式吗?通过使用呼叫对性能有何影响?我应该吮吸它吗?有一个2000+的LOC文件?
答案 0 :(得分:1)
在node.js中,您可以混合使用ES6和prototype
形式:
想象一下class1.js文件:
"use strict";
class BigFella {
constructor() {
console.log('cons');
}
bigMethod1() {
console.log('big1');
}
main() {
this.bigMethod1();
this.bigMethod2();
}
}
module.exports = BigFella;
在class1b.js文件中扩展:
"use strict";
// import BigFella from './class1.js'; Does not works in nodejs
var BigFella = require('./class1.js');
BigFella.prototype.bigMethod2 = function() {
console.log('big2');
}
var b=new BigFella();
b.main();