6

我想在我的自动git部署中包含TypeScript文件,这样我就可以展示我正在构建的框架的代码。但是,每当我部署到azurewebsites时,部署都不包含TypeScript文件。在azure git deploy中包含TypeScript文件

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

我已经试过:

  1. 复制所有文件的打字原稿到输出文件夹通过设置打字稿属性设置为“一直拷贝”。问题是我需要更改对所有文件的引用(不想这样做)。

  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)

我在做什么错误或我的打字稿文件部署我能做些什么(我没试过),以获得自动的?

+0

真的很喜欢文件行的#链接。不知道你能做到这一点。手动修改了网址? – basarat

+1

不,只是点击开始行,按住Shift然后点击结束行 –

+0

甜蜜的提示。谢了哥们。 – basarat

回答

5

所以经过大量工作后,事实证明,使用msbuild管道(#2)它将实际部署打字稿文件。我缺少的一件事是添加适当的MIME类型来处理打字稿文件。

默认情况下,IIS不会正确提供TypeScript文件。

添加自定义MIME类型我所做的:

<system.webServer> 
    <staticContent> 
     <remove fileExtension=".ts"/> 
     <mimeMap fileExtension=".ts" mimeType="text/plain" /> 
    </staticContent> 
</system.webServer> 

我们删除现有的.ts MIME类型(如果有的话)将MIME类型之前,这一点很重要。如果部署到具有.TS已经MIME类型和你之前不要添加删除,它将几乎摧毁现有的映射,将无法投放任何CSS,JS文件等

这是一个机一场战斗,但我终于得到了它的工作,希望这将有助于其他人在未来!

+1

+1图书馆伴侣的史诗工作:http://endgate-samples.azurewebsites.net/ Starred:https://github.com/NTaylorMullen/EndGate – basarat

+0

哈哈感谢@BASarat,它仍在工作中,但应该完成不久! –