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,它仍在工作中,但應該完成不久! –