我正在尝试在我的自动git部署中包含TypeScript文件,因此我可以展示我正在构建的框架的代码。但是,每当我部署到azurewebsites时,部署都不包含TypeScript文件。
有问题的网站:http://endgate-samples.azurewebsites.net/Samples/AnimatedSprites/
我尝试了什么:
通过将TypeScript属性设置为“始终复制”,将所有TypeScript文件复制到输出文件夹。这个问题是我需要更改对所有文件的引用(不想这样做)。
MSBuild管道。这适用于文件系统部署,但不适用于Web部署... https://github.com/NTaylorMullen/EndGate/blob/master/EndGate/samples/EndGate.Core.JS.Samples/EndGate.Core.JS.Samples.csproj#L896-L909。
手动发布到FTP端点(像魅力一样工作),但不是自动的。还需要msbuild管道(#2)
我做错了什么或我能做什么(我还没试过)让我的TypeScript文件自动部署?
答案 0 :(得分:5)
因此经过大量工作后发现,使用msbuild管道片(#2)它实际上将部署typescript文件。我缺少的一件事是添加适当的mime类型来处理打字稿文件。
默认情况下,IIS无法正确提供TypeScript文件。
要添加我做过的自定义mime类型:
<system.webServer>
<staticContent>
<remove fileExtension=".ts"/>
<mimeMap fileExtension=".ts" mimeType="text/plain" />
</staticContent>
</system.webServer>
在添加mime类型之前删除现有的.ts mime类型(如果有)是很重要的。如果你已部署到具有.ts mime类型的机器上并且在添加之前没有删除它,它将几乎破坏你现有的映射,并且将无法提供任何css,js文件等。
这是一场战斗,但我终于让它发挥作用,希望这对未来的其他人有所帮助!