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文件放在那里。 - 这是一种很好的解决方案,甚至可以节省一些人的时间,除非有正确的方法。如果你知道怎么做,请帮忙。
答案 0 :(得分:1)
正如他们指出的那样,您应该使用foldr
和outDir
的组合。请查看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