2015-05-25 23 views
19

Về cơ bản tôi cần có thể viết TypeScript trong IDE (điều này dễ dàng phát triển), biên dịch thành ES6 (gần tương lai của js) và sau đó áp dụng babel.js (vì tất cả các trình duyệt không hỗ trợ hầu hết ES6) các tập lệnh ES5 kết quả.Có thể TypeScript biên dịch sang mã ES6 không?

Điều này có thể hay làm cách nào tôi có thể đạt được kết quả tương tự?

+2

Tại sao bạn cần ES6 làm đầu ra? Bạn đang cố giải quyết vấn đề gì? – Pointy

+4

TypeScript 1.5 có chế độ đầu ra ES6. Sau đó, bạn có thể chạy Javascript kết quả đó thông qua Babel. – CodingIntrigue

+0

tại sao không biên dịch sang es5 cùng một lúc? – Raulucco

Trả lời

25

Có.

Bạn có thể nhắm mục tiêu trình biên dịch TypeScript sang ES6.

Ví dụ thêm video này vào args dòng lệnh của bạn:

--target es6 
1

TypeScript ít nhiều là ES6 với đường cú pháp rất ít. Tôi khuyên bạn nên viết Vanilla ES6 thay vì TypeScript nhưng mặt khác, công cụ TypeScript rất đáng để ghi thêm vào TypeScript và chuyển nó thành ES6 và để Babel làm phần còn lại.

Dưới đây là một tùy chọn thuận tiện hơn như được lưu ý trong nhận xét, từ TypeScript 1.5 bạn có khả năng chuyển thành ES6.

+1

là tất cả các tính năng của ES6 có trong transpiler đó? – zmii

+0

ngoại trừ kiểu chữ có tùy chọn nhập, giao diện để cho phép gõ mạnh mẽ các phụ thuộc js chưa được nhập và nhiều thứ khác. đó là ES6 ở cốt lõi, nhưng nhiều hơn thế. – x0n

+0

không phải là một trong những lợi ích chính khi viết Typecript thực tế là nó phải được biên dịch? Và điều đó sẽ giúp bạn tìm lỗi? – thedanotto

3

Bạn có thể sử dụng kiểu chữ để viết ES6 tinh khiết và sau đó chuyển thành ES3 hoặc ES5. Kể từ khi typecript là ES6 cộng với goodies.

Xem nó bằng cách sử dụng Ít hơn để viết css của bạn, bạn có thể viết CSS tinh khiết trong một tệp nhỏ hơn và nó sẽ biên dịch tốt.

Đối với nguyên cảo đặc tả 1.8 ngôn ngữ:

nguyên cảo là một đường cú pháp cho JavaScript. Cú pháp TypeScript là một siêu của cú pháp ECMAScript 2015 (ES2015). Mỗi chương trình JavaScript cũng là một chương trình TypeScript.

Cú pháp TypeScript bao gồm tất cả các tính năng của ECMAScript 2015, bao gồm các lớp và mô-đun, đồng thời cung cấp khả năng dịch các tính năng này thành mã tuân thủ ECMAScript 3 hoặc 5.

1

Vâng, Bạn có thể.

Hoặc bằng cách thêm --target es2015, hoặc bằng cách thêm target-tsconfig.json của bạn:

{ 
    "compilerOptions": { 
    "target": "es2015" 
    } 
} 

tùy chọn hỗ trợ cho mục tiêu là:

  • "ES3" (mặc định)
  • "ES5"
  • "ES6"/"ES2015"
  • "ES2016"
  • "ES2017"
  • "ESNext"

Có rất nhiều tùy chọn cấu hình hơn.Bạn có thể khám phá chúng tại đây: Compiler options

Một số tùy chọn chỉ được phép trong tsconfig.json và không thông qua thiết bị chuyển mạch dòng lệnh.

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