在azure git deploy中包含TypeScript文件

时间:2013-05-17 04:44:11

标签: azure typescript azure-web-sites azure-deployment azure-git-deployment

我正在尝试在我的自动git部署中包含TypeScript文件,因此我可以展示我正在构建的框架的代码。但是,每当我部署到azurewebsites时,部署都不包含TypeScript文件。

有问题的网站:http://endgate-samples.azurewebsites.net/Samples/AnimatedSprites/

我尝试了什么:

  1. 通过将TypeScript属性设置为“始终复制”,将所有TypeScript文件复制到输出文件夹。这个问题是我需要更改对所有文件的引用(不想这样做)。

  2. MSBuild管道。这适用于文件系统部署,但不适用于Web部署... https://github.com/NTaylorMullen/EndGate/blob/master/EndGate/samples/EndGate.Core.JS.Samples/EndGate.Core.JS.Samples.csproj#L896-L909

  3. 手动发布到FTP端点(像魅力一样工作),但不是自动的。还需要msbuild管道(#2)

  4. 我做错了什么或我能做什么(我还没试过)让我的TypeScript文件自动部署?

1 个答案:

答案 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文件等。

这是一场战斗,但我终于让它发挥作用,希望这对未来的其他人有所帮助!