考虑两个打字稿文件:
档案a.ts
:
module SomeModule {
export class AClass {
}
}
档案b.ts
:
module SomeModule {
export var aValue = new AClass();
}
如果使用tsc -out out.js b.ts a.ts
进行编译,则编译时没有错误,out.js
包含内容:
var SomeModule;
(function (SomeModule) {
SomeModule.aValue = new SomeModule.AClass();
})(SomeModule || (SomeModule = {}));
var SomeModule;
(function (SomeModule) {
var AClass = (function () {
function AClass() {
}
return AClass;
})();
SomeModule.AClass = AClass;
})(SomeModule || (SomeModule = {}));
这是一个问题,因为SomeModule.AClass
在定义之前使用。现在可以通过在///<reference path="a.ts" />
文件的顶部添加b.ts
来解决问题。这将确保在a.ts
文件之前输出b.ts
。
但是,如果没有这条线,项目仍会在没有警告的情况下进行编译,因此修复此问题有点容易出错。更糟糕的是,当在构建脚本中使用或使用gulp-typescript
时,项目通常在没有行的情况下工作正常(由于最初的排序是正确的),但随后开始随机失败。所以我正在寻找一种方法来确保文件的顺序正确。我想到的解决方案:
不幸的是我无法上班。有解决方案吗?
答案 0 :(得分:3)
不幸的是,我无法上班。有没有这个解决方案
请勿使用--out
https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md。而是使用外部模块:https://www.youtube.com/watch?v=KDrWLMUY0R0