2012-11-22 25 views
7

Trong nỗ lực tách các tệp nguồn .ts của tôi khỏi đầu ra .js, tôi đang cố triển khai trình theo dõi tệp chính thức trong TypeScript và có vẻ như khả năng chỉ định đường dẫn đầu ra cho một tệp không tồn tại .Có thể biên dịch một tệp TypeScript đơn lẻ sang đường dẫn đầu ra bằng lệnh tsc không?

Dòng chảy, chỉ để được rõ ràng: Tôi bắt đầu xem toàn bộ src thư của tôi, làm cho một sự thay đổi, chẳng hạn, src/views/HomeView.ts, và tôi muốn nút để nhặt mà các tập tin đã được thay đổi, và di chuyển các phiên bản được biên soạn để public/js/views/HomeView.js .

Sử dụng tsc myfile.ts --out myfile.js nó di chuyển qua tất cả các mô-đun và biên dịch từng phân đoạn trong cùng một đường dẫn mà tệp .ts tồn tại mà không đặt (các) tệp cuối cùng trong đường dẫn được chỉ định chính xác. Tuy nhiên, nó hiện tạo một tệp trống mà tôi muốn nó kết thúc.

Tôi đang tự hỏi:

1) Có thể sử dụng tham số --outchỉ biên dịch rằng một tập tin? Tôi không muốn nó đi qua việc nhập khẩu và biên dịch từng tệp đơn lẻ, nhưng chỉ thực hiện kiểm tra cú pháp/lỗi tại thời gian biên dịch (và đó chỉ là yêu cầu phụ, không cần thiết); và

2) Có lỗi trong trình biên dịch ngăn không cho nó kết hợp đúng cách/tạo tệp không? Một lần nữa, đầu ra cuối cùng trong chỉ thị đường dẫn --out trống, nhưng một tệp thực sự được tạo.

Mọi trợ giúp sẽ được đánh giá cao.

* Cập nhật *

Trong khi tôi không muốn đóng câu hỏi này vì tôi tin rằng nó vẫn còn là một vấn đề, tôi đã đi trước và thực hiện các trình biên dịch nguyên cảo cốt lõi để đạt được những gì mình cần phải làm, bỏ qua tsc hoàn toàn. Vui lòng xem https://github.com/damassi/TypeScript-Watcher để biết thêm thông tin và cách sử dụng.

+0

Đây là vấn đề đối với chúng tôi, cụ thể là phần 1 nơi trình biên dịch biên dịch lại tất cả các phụ thuộc và do đó thay đổi tất cả chúng một chút nhưng không yêu cầu tất cả chúng phải được kiểm tra lại nguồn. –

Trả lời

3

Khi bạn sử dụng tham số --out, bạn sẽ có một tệp duy nhất với trình biên dịch đi bộ các phụ thuộc và làm việc theo thứ tự đúng cho tệp cuối cùng.

Ví dụ ...

tsc --out final.js app.ts 

sẽ tìm thấy bất kỳ phụ thuộc vào app.ts và biên dịch tất cả chúng quá. Sau khi nó hoạt động đúng thứ tự nó sẽ lưu tất cả các mã JavaScript trong final.js. Nếu tệp JavaScript này trống, nó thường là dấu hiệu của một lỗi trình biên dịch.

Không thể sử dụng tham số --out để tạo tệp JavaScript cho tệp TypeScript bạn chỉ định, trừ khi tệp đó không có phụ thuộc.

Các vấn đề liên quan