Bao gồm các tệp TypeScript trong triển khai git của Azure
Tôi đang cố gắng đưa các tệp TypeScript vào triển khai git tự động của mình để tôi có thể trình diễn mã cho một framework mà tôi đang xây dựng. Tuy nhiên, mỗi khi tôi triển khai lên azurewebsites, các bản triển khai đều không bao gồm các tệp TypeScript.
Trang web được đề cập: http://endgate-samples.azurewebsites.net/Samples/AnimatedSprites/
Những gì tôi đã thử:
Sao chép tất cả các tệp TypeScript vào thư mục đầu ra bằng cách đặt thuộc tính TypeScript thành "Luôn sao chép". Vấn đề với điều này là tôi cần thay đổi các tham chiếu đến tất cả các tệp (không muốn làm điều này).
Pipeline MSBuild. Điều này hoạt động cho triển khai hệ thống tệp nhưng không phải triển khai web... https://github.com/NTaylorMullen/EndGate/blob/master/EndGate/samples/EndGate.Core.JS.Samples/EndGate.Core.JS.Samples.csproj#L896-L909.
Xuất bản thủ công đến điểm cuối FTP (hoạt động rất tốt), nhưng không tự động. Cũng yêu cầu pipeline msbuild (#2)
Tôi đang làm gì sai hoặc tôi có thể làm gì (mà tôi chưa thử) để các tệp TypeScript của mình được triển khai một cách tự động?
Câu trả lời #1
Vậy sau rất nhiều công việc, hóa ra với phần pipeline msbuild (#2), nó thực sự sẽ triển khai các file typescript. Một điều mà tôi đã bỏ lỡ là thêm kiểu mime thích hợp để xử lý các file typescript.
Hóa ra mặc định IIS sẽ không phục vụ các tệp TypeScript một cách chính xác.
Để thêm kiểu mime tùy chỉnh, tôi đã làm:
<system.webServer>
<staticContent>
<remove fileExtension=".ts"/>
<mimeMap fileExtension=".ts" mimeType="text/plain" />
</staticContent>
</system.webServer>
Điều quan trọng là chúng ta phải gỡ bỏ loại MIME .ts hiện có (nếu có) trước khi thêm loại MIME. Nếu bạn triển khai lên một máy đã có loại MIME .ts và bạn không gỡ bỏ trước khi thêm, điều đó sẽ gần như phá hủy các ánh xạ hiện có của bạn và sẽ không thể phục vụ bất kỳ tập tin css, js nào, v.v.
Đây đã là một trận chiến nhưng cuối cùng tôi cũng làm nó hoạt động, hy vọng điều này sẽ giúp ai đó trong tương lai!
