2014-04-15 29 views
17

Làm cách nào để có thể biên dịch TypeScript 1.0 trong trình duyệt?Làm thế nào để biên dịch TypeScript trong trình duyệt?

Tôi cho rằng nó phải là đơn giản khi tải tệp JS kiểu chữ có liên quan, tạo một thể hiện của lớp bên phải (trình biên dịch?) Và gọi một hoặc hai phương thức.

Đây không phải là yêu cầu cho bất kỳ công cụ cụ thể, nhưng BẤT CỨ cách nào để làm điều này với ngôn ngữ máy tính cụ thể này, và do đó là về chủ đề.

+0

Tại sao bạn muốn thực hiện điều đó? Bạn chỉ nên sử dụng TypeScript để phát triển, có trình theo dõi tệp (hoặc có tập lệnh xây dựng) để biên dịch tệp ts thành tệp js khi các tệp được thay đổi và tải js đã biên dịch cho trình duyệt (cả trong phát triển và sản xuất). Kể từ khi trình biên dịch thêm tham chiếu đến bản đồ nguồn (biên dịch nó bằng cách sử dụng tùy chọn '--sourcemap'), bạn sẽ có thể gỡ lỗi trong trình duyệt trên tệp TypeScript, vì vậy bạn có được tất cả ... –

+3

Vì nhiều lý do, nhưng có cho mã sản xuất bạn thường không muốn. Nhưng một số lý do có thể xây dựng một sân chơi như thế trên typescriptlang.org, hoặc trong việc xây dựng một web IDE, hoặc trình biên dịch dựa trên web, hoặc có thể là một trình biên dịch hơn là sao chép các tệp tới các máy chủ thông qua các dịch vụ đám mây. Trong trường hợp của tôi, tôi chỉ đang tìm kiếm một ví dụ điển hình mà không có gánh nặng đầy đủ của TSC để biên soạn một tệp đơn lẻ. Kịch bản của tôi không thực sự trong trình duyệt, nhưng trong một kịch bản PowerShell lưu trữ công cụ Chakra JS, nhưng cách đơn giản nhất để đến đó là một kịch bản dựa trên trình duyệt đơn giản. – klumsy

+2

Nhận xét, vì Q đã đóng: Bạn đang tìm phương thức transpile() trên mô-đun được xuất mặc định của gói nmap Typescript. import * như TS từ 'typescript'; TS.transpile (sourceTS) -> trả về JS được biên dịch. https://github.com/Microsoft/TypeScript/blob/master/lib/typescript.d.ts#L4548 ​​ – NiloCK

Trả lời

9

Bạn có thể sử dụng typescript-script: https://github.com/basarat/typescript-script

Tuy nhiên không làm điều này trong sản xuất vì nó sẽ là chậm.

Bạn có thể sử dụng browserify để tải gói npm trong trình duyệt.

+0

Tại sao nó không an toàn? –

+0

@DavidGiven Tôi không biết tại sao tôi nghĩ rằng anh ấy sẽ phục vụ đầu vào TypeScript * của người dùng *. Vì vậy, loại bỏ. Cảm ơn! – basarat

+3

trông ngoài ngày & bị bỏ rơi, bạn có chắc chắn không? – xamiro

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