Inkluder TypeScript-filer i Azure Git-distribusjon
Jeg prøver å inkludere TypeScript-filer i min automatiske git-deploy slik at jeg kan vise frem kode for et rammeverk jeg bygger. Imidlertid, når jeg deployer til azurewebsites, inkluderer ikke deployene TypeScript-filene.
Nettsiden det gjelder: http://endgate-samples.azurewebsites.net/Samples/AnimatedSprites/
Hva jeg har prøvd:
Kopier alle TypeScript-filer til utdata-mappen ved å sette TypeScript-egenskaper til «Kopier alltid». Problemet med dette er at jeg må endre referansene til alle filene (vil ikke gjøre dette).
MSBuild-pipeline. Dette fungerer for distribusjon via filsystem, men ikke webdistribusjon... https://github.com/NTaylorMullen/EndGate/blob/master/EndGate/samples/EndGate.Core.JS.Samples/EndGate.Core.JS.Samples.csproj#L896-L909.
Manuell publisering til FTP-endepunkt (fungerer utmerket), men ikke automatisk. Krever også msbuild-pipelinen (#2)
Hva gjør jeg feil, eller hva kan jeg gjøre (som jeg ikke har prøvd) for å få mine TypeScript-filer til å deployere automatisk?
Svar #1
Så etter mye arbeid viser det seg at med msbuild-pipeline-delen (#2) vil det faktisk distribuere TypeScript-filene. En ting jeg manglet var å legge til riktig MIME-type for å håndtere TypeScript-filer.
Det viser seg at IIS som standard ikke vil servere TypeScript-filene korrekt.
For å legge til den tilpassede MIME-typen gjorde jeg:
<system.webServer>
<staticContent>
<remove fileExtension=".ts"/>
<mimeMap fileExtension=".ts" mimeType="text/plain" />
</staticContent>
</system.webServer>
Det er viktig at vi fjerner den eksisterende .ts MIME-typen (hvis det finnes en) før vi legger til MIME-typen. Hvis du distribuerer på en maskin som allerede har .ts MIME-typen og du ikke fjerner den før du legger til, vil det i stor grad ødelegge de eksisterende kartleggingene dine og vil ikke kunne levere noen css-, js-filer osv.
Dette har vært en kamp, men jeg fikk det endelig til å fungere, håper dette hjelper noen andre i fremtiden!
