ค้นหาเว็บไซต์

git - Visual Studio Online ไม่ได้ปรับใช้ไฟล์ .js จากการคอมไพล์ TypeScript ไปยัง Azure


พื้นหลัง

ฉันเพิ่งตั้งค่า VS2013 พร้อมการสนับสนุน TypeScript ล่าสุด เริ่มต้นด้วยตัวอย่างแอป "Greeter" ฉันได้สร้างแอปหน้าเดียวที่เรียบง่าย TypeScript ทั้งหมดถูกแปลงเป็น .js อย่างสวยงามเมื่อบันทึก เมื่อฉันกด F5 มันจะสร้างและรันตามที่คาดไว้

กิต

ฉันได้ใช้การสนับสนุน Git ในตัวในการซิงค์ไปยังโปรเจกต์ใหม่บน Visual Studio Online ทุกอย่างดีจนถึงตอนนี้

เชื่อมโยง Visual Studio ออนไลน์กับ Azure โดยใช้ Git

ต่อไป ฉันได้ตั้งค่าเว็บไซต์ Azure ใหม่ (ฟรี) ในบัญชี Windows Azure ของฉัน และกำหนดค่าให้เผยแพร่จาก Git บน Visual Studio Online มันสร้างคำนิยามการสร้างโดยใช้เทมเพลตชื่อ GitContinuousDeploymentTemplate.12.xaml ซึ่งต้องใช้การปรับแต่งเล็กน้อยเพื่อกำหนดค่าการตั้งค่า "Windows Azure Deployment Environment" โดยเฉพาะ "Webspace" ซึ่งปรากฏว่าสำหรับฉันคือ "northeuropewebspace" แต่ในการลองครั้งที่สาม การสร้างที่โฮสต์สำเร็จและเผยแพร่ไปยังเว็บไซต์ Windows Azure ของฉันแล้ว

ปัญหา

ไซต์ที่ปรับใช้งานไม่มีไฟล์ .js ซึ่งถูกคอมไพล์มาจาก TypeScript

ฉันสามารถเห็นจากบันทึกการสร้างว่าคอมไพเลอร์ TypeScript ถูกเรียกใช้งาน:

CompileTypeScript:
  C:\Program Files (x86)\Microsoft SDKs\TypeScript\tsc.exe  --module AMD --sourcemap --target ES5 "CrankView.ts" "CrankViewModel.ts" "Point.ts" "scripts\DefinitelyTyped\jquery\jquery.d.ts" "StirlingApp.ts" "StirlingModel.ts" "WorldView.ts"

ฉันได้รับคำเตือนว่ามีไฟล์ .cs ไม่มี ซึ่งเป็นความจริง:

CSC : warning CS2008: No source files specified [C:\a\src\Stirling\Stirling.csproj]

แต่จากนั้นไฟล์ .js ใด ๆ ที่น่าจะถูกสร้างขึ้นมาก่อนหน้านี้ก็ไม่ปรากฏในขั้นตอนการสร้างถัดไปใด ๆ และพวกมันก็ไม่ปรากฏบนเว็บไซต์ที่นำไปใช้งาน

คำถาม

ฉันต้องทำอะไรเพื่อให้มันปรับใช้ไฟล์ .js ที่ "คอมไพล์" แล้ว?

คำตอบ #1

คุณจำเป็นต้องรวมไฟล์ .js ที่สร้างขึ้นเข้าไปในโปรเจกต์ Visual Studio ของคุณเพื่อให้ไฟล์เหล่านั้นถูกปรับใช้

อัปเดต คุณสามารถเพิ่มไฟล์ js/ts ทั้งหมดจากโฟลเดอร์เข้าไปใน Visual Studio โดยใช้การตั้งค่าดังต่อไปนี้ แต่ถ้าคุณทำแบบนี้ คุณต้องระมัดระวังไม่ให้ "เพิ่มไฟล์ใหม่" แล้วจากนั้น commit การเปลี่ยนแปลงใน .csproj เพราะ Visual Studio มักจะเขียนทับสิ่งนี้และเพิ่มไฟล์ทุกไฟล์กลับมาโดยอัตโนมัติ :

<Content Include="Client\src\**\*.*">
</Content>

บทความที่เกี่ยวข้อง