Thiết kế bởi | Sebastian McKenzie |
---|---|
Phát triển bởi | Contributors |
Phiên bản ổn định | 7.8.6
/ 27 tháng 2 năm 2020[1] |
Kho mã nguồn | |
Viết bằng | JavaScript |
Hệ điều hành | Linux, macOS, Solaris, FreeBSD, OpenBSD, AIX, Microsoft Windows |
Thể loại | Trình biên dịch |
Giấy phép | MIT[2] |
Website | babeljs |
Babel là một trình biên dịch Javascript mã nguồn mở và miễn phí có chức năng chính dùng để biên dịch ECMAScript thành phiên bản tương thích ngược cho JavaScript có thể chạy trên các môi trường JavaScript cũ hơn. Babel là công cụ phổ biến để sử dụng các tính năng mới nhất của Javascript.[3]
Các nhà phát triển có thể sử dụng các tính năng mới của JavaScript bằng cách sử dụng Babel để chuyển đổi mã nguồn của họ thành phiên bản JavaScript mà các trình duyệt hiện hành có thể xử lý.[4] Babel core được tải về 5 triệu lần mỗi tháng năm 2016, và tăng lên 16 triệu vào năm 2019.[5][6]
Các plugin Babel được sử dụng để chuyển đổi các cú pháp không phổ biến thành các cú pháp có thể tương thích ngược với phiên bản cũ. Một ví dụ như, hàm mũi tên (arrow function), được sử dụng trong ES6, được chuyển đổi thành các hàm khai báo thông thường[7] Các cú pháp Javscript không chuẩn như JSX cũng có thể được chuyển đổi.[8][9]
Babel bao gồm các polyfill để hỗ trợ các tính năng mà một môi trường Javascript cũ không có. Ví dụ các method tĩnh như Array.from
và built-ins như Promise
chỉ khả dụng trong ES6+, nhưng có thể được sử dụng trong các môi trường Javascript cũ nếu có Babel polyfill.[10]