TypeScript在outDir的根目录中生成所有文件

时间:2017-06-22 16:02:36

标签: visual-studio typescript

VS 2015中的Typescript 2.3.3

有一个包含TSSrc / Subfolder1和大量.ts文件的项目。

有一个流动的tsconfig.json

{
  "compilerOptions": {
    "noImplicitAny": true,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": false, 
    "target": "es5",
    "outDir": "../Scripts/TSOutput"
  },
  "files": [
    "Subfolder1/file1.ts",
    "Subfolder1/file2.ts",
    "Subfolder1/file3.ts"
  ],
  "compileOnSave": true

}

我的问题是TypeScript直接在outDir中生成所有.js文件但不是outDir / Subfolder1,如何强制它总是使用适当的子文件夹层次结构?

到目前为止,我发现的唯一解决方案是在不同的源子文件夹中创建额外的假.ts文件

"files": [
        "Subfolder2/stub.ts",
        "Subfolder1/file1.ts",
        "Subfolder1/file2.ts",
        "Subfolder1/file3.ts"
      ]

在此解决方法之后,TS在outDir中生成Subfolder1和Subfolder2并将js文件放在那里。 - 这是一种很好的解决方案,甚至可以节省一些人的时间,除非有正确的方法。如果你知道怎么做,请帮忙。

1 个答案:

答案 0 :(得分:1)

正如他们指出的那样,您应该使用foldroutDir的组合。请查看this TypeScript GitHub issue,这与您遇到的同一问题有关。您的tsconfig文件应如下所示:

rootDir

根据您的评论进行编辑。

如果您的TS文件位于{ "compilerOptions": { "noImplicitAny": true, "noEmitOnError": true, "removeComments": false, "sourceMap": false, "target": "es5", "outDir": "../Scripts/TSOutput", "rootDir": "./" }, "files": [ "Src/Subfolder1/file1.ts", "Src/Subfolder1/file2.ts", "Src/Subfolder1/file3.ts" ], "compileOnSave": true } 文件夹下的文件夹中,并且您希望TSOutput文件夹中的JS文件位于相同的子文件夹下,则上述tsconfig应该可以正常工作。

这会将Src输出放入Src/Subfolder1/file1.ts