ฉันกำลังเริ่มต้นการเดินทางสู่ Angular 2 (RC4) ที่โฮสต์บน ASP.Net Core 1.0 ฉันได้ติดตามบทช่วยสอนสวัสดีชาวโลกจากไซต์นี้ และจนถึงตอนนี้ก็ใช้ได้ดี:
http://geekswithblogs.net/HumpreyCogay/Default.aspx
เมื่อใดก็ตามที่ฉันทำการเปลี่ยนแปลงในไฟล์ app.component.ts ซึ่งอยู่ที่ $project/app/app.component.ts ฉันเห็นว่าการเปลี่ยนแปลงของฉันสะท้อนให้เห็นในไฟล์ $project/wwwroot/app/app.component.js ไชโย ฉันเข้าใจว่า Visual Studio 2015 นั้นฉลาดพอที่จะรู้ว่าฉันแก้ไขไฟล์ typescript รู้ว่ามันต้อง transpile และทิ้งมันลงใน wwwroot ตาม tsconfig ของฉัน FWIW tsconfig.json ของฉันมีลักษณะดังนี้:
{
"compileOnSave": true,
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"outDir": "wwwroot/app/"
},
"exclude": [
"node_modules",
"wwwroot"
]
}
ดังนั้น app.component.ts จึงมีเทมเพลตที่แสดงเป็น html แบบอินไลน์ ถ้าฉันเปลี่ยนจาก:
template: '<h1>My First Angular 2 App</h1>'
to
templateUrl: './app/app.component.html'
จากนั้นไฟล์ ts จะถูกถ่ายโอนไปยัง wwwroot ในรูปแบบ js แต่ไฟล์ html ที่ฉันสร้าง ($project/app/app.component.html ) ไม่ได้ทำ หากฉันคัดลอกมันด้วยตนเอง แอปทดสอบจะทำงานตามที่คาดไว้
ดังนั้นการคัดลอกไฟล์ html ไปยัง wwwroot ด้วยตนเองทุกครั้งที่ฉันเปลี่ยน/เพิ่มไฟล์จะไม่ทำงาน แนวทางปฏิบัติที่แนะนำในการทำให้สิ่งนี้ถูกเลื่อนออกไปโดยอัตโนมัติคืออะไร? ฉันมีบางอย่างเข้าที่กับไฟล์ .scss ของฉันแล้ว (ซึ่งสร้างคอมไพเลอร์config.json อย่างมีความสุข) ดังนั้นฉันคิดว่ามีกลไกบางอย่างที่ฉันสามารถใช้กับไฟล์ .html ได้
ฉันยังมี gulpfile.js เพื่อล้าง/คัดลอก node_modules ไปยัง $project/wwwroot/libs แต่ฉันไม่แน่ใจว่านี่จะเป็นสถานที่ที่เหมาะสมสำหรับการคัดลอกไฟล์ .html หรือไม่ และยังไม่แน่ใจเกี่ยวกับความมหัศจรรย์อัตโนมัติของ มัน. สำหรับข้อมูล node_module ของฉัน ฉันจะทริกเกอร์งานล้างข้อมูลและคัดลอกด้วยตนเองทุกครั้งที่ต้องการ