angular - ฉันสามารถรวมไฟล์ TypeScript กับ Angular2 เหมือนกับ Rails assets:precompile ได้อย่างไร?
ฉันจะรวมไฟล์ TypeScript หลายไฟล์ที่ใช้กับ Angular2 ให้เป็นไฟล์ JS เดียวเหมือนกับ Rails assets:precompile ได้อย่างไร?
ตัวอย่างเช่น ในบทเรียนของหน้าราชการของ Angular2 คุณจะเห็นไฟล์ .ts สี่ไฟล์:
- แอป.คอมโพเนนต์.ทีเอส
- boot.ts
- hero.ts
- hero-detail.component.ts
และเมื่อคุณดูไฟล์ app.component.ts คุณจะเห็นส่วนดังต่อไปนี้:
import {Hero} from './hero';
import {HeroDetailComponent} from './hero-detail.component';
มันทำงานได้อย่างสมบูรณ์แบบเมื่อคุณคอมไพล์ไฟล์ .ts ทุกไฟล์แยกกัน แต่ฉันอยากจะรวมมันเข้าเป็นไฟล์ .js เดียวเพื่อให้มีการร้องขอ http น้อยลง ฉันใช้ gulp และลองใช้ gulp-concat ซึ่งมันใช้ไม่ได้ browserify ก็เช่นกัน
มีใครช่วยได้ไหม? ขอบคุณล่วงหน้า.
คำตอบ #1
ฟังดูเหมือนว่าคุณกำลังมองหาอะไรบางอย่างเหมือน Webpack Webpack จะทำการแปลงไฟล์ ts ของคุณเป็น js จากนั้นสร้างชุดโมดูลเดี่ยวที่คุณสามารถรวมกับแท็ก <script> มันไม่เพียงแต่จะแปลงโค้ดของคุณเท่านั้นแต่ยังจะสร้างรวมถึง dependencies ของมันเองรวมถึง Angular 2 (และ dependencies ของมัน) ด้วย
นี่คือโปรเจกต์เริ่มต้นง่ายๆ สำหรับ Angular 2 และ Webpack เขียนโดยหนึ่งในนักพัฒนา Angular 2: https://github.com/pkozlowski-opensource/ng2-webpack-play
คำตอบ #2
ดูเหมือนว่า TypeScript จะรองรับการต่อไฟล์หลายไฟล์ (พร้อมโมดูล) ตั้งแต่เวอร์ชัน 1.8 เป็นต้นไป (ปัจจุบันคือ 1.7.5) นอกจากนี้ยังมีวิธีอื่นโดยใช้ Webpack แต่ฉันไม่รู้ว่าทำอย่างไรแน่ๆ