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:

  1. 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).

  2. 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.

  3. 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!

Relaterte artikler