是否可以在本地编译Typescript文件,但不能在构建服务器上编译?

Jos*_*ank 2 msbuild build-server visual-studio typescript

我已经在我的构建过程中添加了Typescript,但是我收到了Write to file failed错误,因为目标js文件是只读的,这是因为我在TFS中包含了发出的js文件.

我知道我可以从TFS中删除js文件,并且总是在运行中生成,但我不想这样做,因为我想将它们包含在项目中,如果我使用文件,那么部署到构建服务器将失败那些不在TFS中.

我可以使用预构建步骤来删除只读属性,但这看起来很糟糕.

我真正想要的是包含js文件并在构建时进行预编译,但只能在我的本地开发机器上,而不是在构建服务器上.我甚至很乐意在保存而不是在构建时编译它们.但我无法找到实现这些目标的方法.

Bro*_*cco 6

我知道你说你想把它们包含在你的项目中,这就是为什么你想把js文件包含在版本控制(TFS)中,但IMO不是采取的方法,因为你没有检查你的dll的.

在TypeScript的情况下,*.ts文件是您的源代码,而*.js文件是您的编译输出,无论是MsBuild还是gulp/grunt,您的构建过程都可以轻松复制这些文件.

如果您正在使用捆绑/缩小库,那么您不必担心,因为其中包含的文件基于文件结构而不是项目结构.您只需在必要的包中包含必要的文件/目录即可.

我知道这可能不是您正在寻找的答案,但我觉得它有一个位置作为如何处理来自ts源代码的js文件输出的潜在解决方案.

  • 在看完你的答案后,我想我被说服你是对的.谢谢你的详细解释. (2认同)