例如,假设有一个文件包含一个类。
// a.js -> constructor, function1, function2
const AClass = class {
constructor() {}
function1() {}
function2() {}
}
当function1和function2变得太长时,我想将它们分离到另一个文件中。
// a.js -> constructor
// b.js -> function1
// c.js -> function2
我可以在JavaScript中这样做吗?我不想做下面的事情。
// a.js
const fn1 = require("./b.js");
const AClass = class {
constructor() {}
function1() {fn1()}
}
3条答案
按热度按时间b4lqfgs41#
你可以使用JS Prototype's chain。基本上有你想要的尽可能多的文件,只使用
extend
,并有一个function1
和function2
的mixins文件,但这真的很低效。此外,你可以使用prototype链,并随时向其中添加函数,例如:
你可以在任何你喜欢的文件中这样做。
ve7v8dk22#
在
constructor
上初始化每个函数时,您应该bind
该函数的示例上下文。原型示例
简单定义示例
使用TypeScript
commons/PartialClass.ts
AClass/partials/function1.ts
AClass/index.ts
efzxgjgh3#
我写了an article about this,特别注意TypeScript,以确保
this
在每个文件中都能正常工作。基本上,您将看到如何实现此结构: