TypeScript的tsc是否会创建以前转换过的文件的缓存?

时间:2018-01-22 06:38:55

标签: typescript tsc

我为greeter.ts创建了一个定义文件,然后创建了许多其他* .ts文件。当我运行tsc --project ./tsconfig.tsc.json --declaration时,它为所有其他* .ts文件生成* .d.ts文件,但是我手动创建的greeter.d.ts除外。它拒绝覆盖它。所以,我删除了greeter.d.ts并再次运行tsc。即使文件不再存在,它也会输出相同的错误error TS5055: Cannot write file '~/project/greeter.d.ts' because it would overwrite input file.

那么,为什么tsc能够覆盖之前生成的文件,而不是我创建的文件?更重要的是,它仍然认为我删除后手动创建的* .d.ts文件存在。从逻辑上讲,某个地方有一个缓存,但我还没有找到有关它的信息。

是否有以前转换过的文件的缓存?

1 个答案:

答案 0 :(得分:0)

我怀疑它是否会创建缓存。我发现它“知道”我手动创建了一个定义文件。在我的greeter.ts中,我这样引用它:

/// <reference path="greeter.d.ts" />
export class Greeter {

  public greeting: string;
  constructor() {
      console.log('Greeter()');
  }

  public activate() {
    this.greeting = 'hello worldz';
  }
}

删除引用清除了错误,tsc能够创建文件。