gpt4 book ai didi

javascript - 扩展类时 typescript 文件顺序问题

转载 作者:搜寻专家 更新时间:2023-10-30 21:20:26 25 4
gpt4 key购买 nike

我正在使用 TypeScript 定义模型,但在扩展类时遇到了问题。我有两个类,每个类都在一个同名的代码文件中:

class kanine {
name = 'dog'
}

class beagle extends kanine {
constructor(name: string) {
super();
this.name = name;
}
}

在解决方案中,它们显示为:

enter image description here

当我运行该应用程序时出现此错误:

enter image description here

但是,当我将包含 kanine 类的代码文件从 kanine.ts 重命名为 1kanine.ts 时,我没有收到错误。另一种解决方法是像这样捆绑它们:

.Include("~/app/kanine.js")
.Include("~/app/beagle.js")

而不是像这样:

.IncludeDirectory("~/app", "*.js")

有没有办法以明确的顺序处理文件,而不必单独包含它们?

最佳答案

发生这种情况的原因是因为需要在解析器进入 beagle 之前定义基类 kanine。

您可以通过以下两种方式之一解决此问题:

  1. 继续像您当前在第一个示例中所做的那样明确定义每个单独的 .js 文件的顺序。

  2. 使用 tsconfig.json 或通过项目属性更改您的编译设置,以便将 .ts 文件合并到一个 .js 文件中,并依靠 typescript 编译器正确排序它们。

如果选择选项 2,则需要使用///引用标记来帮助编译器确定应首先输出哪个文件。这就像将它添加到 beagle.ts 一样简单:

/// <reference path="kanine.ts" />

这将确保 kanines javascript 在 beagles 之前输出。

关于javascript - 扩展类时 typescript 文件顺序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36208222/

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