繁体   English   中英

TypeScript编译导致依赖性错误

[英]TypeScript compilation causing dependency errors

我正在将多个TypeScript文件编译成一个JavaScript文件。 例如,他们被称为:

A.ts // depends on C.ts
B.ts // depends on C.ts
C.ts

当我检查JavaScript输出时,我发现了一个问题:TypeScript的__extends函数由于传递了undefined值而失败。

编译应按以下顺序进行:

C.ts // because A and B depend on this respectively.
A.ts
B.ts

但不幸的是,它们是根据其名称(按字母顺序)而不是依赖顺序编译的。

  • 这可以解决吗?
  • TypeScript团队是否意识到这个问题?

注意:这是Visual Studio TypeScript编译器问题。 大概使用命令行编译器会解决这个问题,但我想从Visual Studio编译。

但不幸的是,它们是根据其名称(按字母顺序)而不是依赖顺序编译的

https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md

TypeScript不执行自动文件排序。 您应该使用一些--module标志进行编译,例如commonjs ,然后让外部模块加载器为您解析这些依赖链。

更多: http//basarat.gitbooks.io/typescript/content/docs/project/modules.html

要使编译器以正确的顺序合并文件,必须在每个依赖于其他文件的文件中使用引用标记 这将使编译器可以执行资源的依赖关系图并对其进行正确排序,只要您没有任何循环依赖关系。

您的另一个选择是手动将输入排序到编译器,方法是为其提供所有文件的完整排序列表,或者使用_references.ts来定义至少要按顺序加载的第一组文件。

了解更多关于如何工作在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM