Javascript 扩展类时的Typescript文件顺序问题
我使用TypeScript定义模型,在扩展类时遇到了一个问题。我有两个类,每个类在一个同名的代码文件中:Javascript 扩展类时的Typescript文件顺序问题,javascript,typescript,visual-studio-2015,Javascript,Typescript,Visual Studio 2015,我使用TypeScript定义模型,在扩展类时遇到了一个问题。我有两个类,每个类在一个同名的代码文件中: class kanine { name = 'dog' } 及 在解决方案中,它们显示为: 当我运行应用程序时,出现以下错误: 但是,当我将包含kanine类的代码文件从kanine.ts重命名为1kanine.ts时,我没有得到错误。另一个解决方法是像这样捆绑它们: .Include("~/app/kanine.js") .Include("~/app/beagle.js"
class kanine {
name = 'dog'
}
及
在解决方案中,它们显示为:
当我运行应用程序时,出现以下错误:
但是,当我将包含kanine类的代码文件从kanine.ts重命名为1kanine.ts时,我没有得到错误。另一个解决方法是像这样捆绑它们:
.Include("~/app/kanine.js")
.Include("~/app/beagle.js")
.IncludeDirectory("~/app", "*.js")
而不是像这样:
.Include("~/app/kanine.js")
.Include("~/app/beagle.js")
.IncludeDirectory("~/app", "*.js")
有没有一种方法可以按显式顺序处理文件而不必单独包含它们?之所以会出现这种情况,是因为在解析器到达beagle之前需要定义基类kanine 您可以通过以下两种方式之一修复此问题:
/// <reference path="kanine.ts" />
//
这将确保在beagle.ts文件之前输出kanines javascript。我将///添加到beagle.ts文件中,但仍然会出现“Uncaught”错误。是否需要设置一些项目级配置以使用这些标记?我想这可能取决于您是如何编译应用程序的。这是“带有TypeScript的HTML应用程序”吗?您是否有tsconfig.json,或者您是否进入项目属性并将TypeScript构建设置为“将JavaScript输出合并到文件中?”?我没有使用tsconfig.json文件,并且我没有更改web属性的TypeScript构建区域中的任何默认设置。我知道发生了什么。您或者需要像在第一个示例中那样显式定义依赖项的顺序,或者需要使用tsconfig或project属性将这两个ts文件组合成一个文件,并使用///引用来定义顺序,就像我在示例中所做的那样。我编辑了我的答案,以更准确地反映解决方案。