我正在使用包含许多项目的解决方案。一个项目是ASP.Net MVC项目,在~/Scripts
内包含两个具有TypeScript文件的文件夹。
~/Scripts/TSProj1/typescript/Main.ts
~/Scripts/TSProj1/typescript/Sub1.ts
~/Scripts/TSProj1/typescript/Sub2.ts
~/Scripts/TSProj1/tsProj1.js
~/Scripts/TSProj1/tsProj1.js.map
~/Scripts/TSProj2/typescript/Main.ts
~/Scripts/TSProj2/typescript/Sub1.ts
~/Scripts/TSProj2/typescript/Sub2.ts
~/Scripts/TSProj2/tsProj1.js
~/tsconfig.json
以前,我只有一个TypeScript子项目,它没问题,但自从我介绍第二个项目以来,我和我的团队一直有一些问题。我真的需要一个解决方案。
现在,我知道目前Visual Studio does not support多个tsconfig.json
个文件,tsconfig.json
也不支持multiple configurations。
就像我自己的创可贴解决方案一样,我在tsconfig.json
文件中都有两个配置,其中一个配置总是被注释掉:
{
"compilerOptions": {
"outFile": "Scripts/TSProj1/tsProj1.js"
},
"files": [
"Scripts/TSProj1/typescript/Main.ts",
"Scripts/TSProj1/typescript/Sub1.ts",
"Scripts/TSProj1/typescript/Sub2.ts"
],
"compileOnSave": true
}
/*
{
"compilerOptions": {
"outFile": "Scripts/TSProj2/tsProj2.js"
},
"files": [
"Scripts/TSProj2/typescript/Main.ts",
"Scripts/TSProj2/typescript/Sub1.ts",
"Scripts/TSProj2/typescript/Sub2.ts"
],
"compileOnSave": true
}
*/
我可以评论/取消评论,具体取决于我当时要构建的子项目。有一段时间,我认为这是有效的,但现在我似乎也在注释tsconfig.json
条目的TypeScript代码上遇到编译错误。另一种现在的创可贴解决方案是在编译期间从项目中排除.ts
文件。
然而,我需要某种可行的解决方案。它给我带来了很多问题,但对于那些正在研究这个解决方案的人来说尤其如此。
我提到过我遇到的一些问题:
tsconfig.json
的一部分似乎有效,但现在,神秘地,它不再有效,而tsconfig.json
中未包含的子项目现在会出现编译错误。.js
文件。我怀疑这是因为Visual Studio因为某种原因检查了文件并将其设置为只读。我注意到,当我打开命令提示符时,tsc.exe
抱怨它无法写入输出.js
文件。有时,源映射也会发生这种情况。要解决此问题,我会删除.js
和.js.map
文件,但我不应该这样做。.js
文件没有被推送到Web服务器。我一直在手动复制文件。我不知道为什么会这样,因为.js
文件是项目的一部分。我怀疑其中一些问题可能与嵌套(或缺乏嵌套)有关。例如,SASS文件将在其下嵌套相应的.css
文件,并在其下嵌套.css.min
文件。这使得Visual Studio了解这些文件是相关的,并且它的行为也相应。可能应该告诉Visual Studio .js.map
文件属于.js
文件,并且.js
文件对应于typescript源。我不确定如何实现这一点。
我真的需要解决这些问题的方法。他们不一定非常方便我,但他们绝对不应该影响团队中的其他人。我不介意解决方案是否以某种方式从命令行手动调用tsc.exe
,但是检入TFS并发布必须有效。
谢谢。如果可以解决这个问题,我将非常感激。