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

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 แต่ฉันไม่รู้ว่าทำอย่างไรแน่ๆ

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