gpt4 book ai didi

javascript - 如何将 TypeScript 类拆分为多个文件?

转载 作者:IT王子 更新时间:2023-10-29 03:09:28 28 4
gpt4 key购买 nike

我找了很多例子,自己也试过把一个模块拆分成几个文件。所以我得到了那个,非常方便。但有时出于同样的原因拆分一个类(class)也是可行的。假设我有几种方法,但我不想将所有内容都塞进一个长文件中。

我正在寻找类似于 C# 中的 partial 声明的东西。

最佳答案

最近我使用这种模式:

// file class.ts
import { getValue, setValue } from "./methods";

class BigClass {
public getValue = getValue;
public setValue = setValue;

protected value = "a-value";
}
// file methods.ts
import { BigClass } from "./class";

function getValue(this: BigClass) {
return this.value;
}

function setValue(this: BigClass, value: string ) {
this.value = value;
}

这样我们就可以将方法放在一个单独的文件中。现在这里发生了一些循环依赖的事情。文件 class.tsmethods.ts 导入,methods.tsclass.ts 导入。这可能看起来很可怕,但这不是问题。只要代码执行不是循环的,一切都很好,在这种情况下,methods.ts 文件不会执行 class.ts 文件中的任何代码。 NP!

您也可以像这样将它与通用类一起使用:

class BigClass<T> {
public getValue = getValue;
public setValue = setValue;

protected value?: T;
}

function getValue<T>(this: BigClass<T>) {
return this.value;
}

function setValue<T>(this: BigClass<T>, value: T) {
this.value = value;
}

关于javascript - 如何将 TypeScript 类拆分为多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23876782/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com