2016-04-05 13 views
5

Trong ESLint 1, tôi có thể sử dụng tùy chọn ecmaFeatures để tắt hoặc bật một số tính năng ngôn ngữ nhất định. Ví dụ.Làm thế nào để vô hiệu hóa việc sử dụng một số tính năng ES2015 nhất định với ESLint 2?

ecmaFeatures: 
    defaultParams: false 

Cấu hình trên vô hiệu hóa defaultParams.

Điều này rất hữu ích vì trong thời gian chạy như Nút, không phải tất cả các tính năng đều khả dụng và tôi không muốn sử dụng trình thu thập thông tin.

Nhưng trong ESLint 2, đã bị xóa. Bạn chỉ có ecmaVersion, không cảnh báo về việc sử dụng các tính năng ES2015 ngay cả khi bạn cung cấp cho nó ecmaVersion của 5. Tôi đoán điều này có ý nghĩa vì trình thông dịch JavaScript sẽ phàn nàn về việc sử dụng cú pháp không được hỗ trợ trong thời gian diễn giải, nhưng về việc phát triển cho các trình duyệt có mức hỗ trợ ES2015 khác nhau? Cú pháp hoạt động cho Chrome sẽ không hoạt động đối với IE9.

Có cách nào để sử dụng các tính năng ngôn ngữ hay không, ví dụ: vô hiệu hóa destructuring?

+0

Tôi nghĩ nếu bạn muốn hỗ trợ trình duyệt chéo trong những ngày này, bạn sẽ phải chuyển đổi. Nếu bạn chỉ muốn nhắm mục tiêu các phiên bản trình duyệt cụ thể, bạn có thể thử nghiệm trong các phiên bản này ngay lập tức để xem liệu chúng có khiếu nại hay không. – Bergi

+0

@Bergi Tôi chắc chắn sẽ làm điều đó, nhưng thật tuyệt khi có tùy chọn giới hạn tính năng sử dụng ngôn ngữ. Ví dụ. trong Node 4, nó có một nửa các tính năng ES2015. – Daiwei

+0

Phần quy tắc phải bao gồm những gì bạn cần. Tôi không thấy làm thế nào một linter có thể ngăn chặn bất cứ ai từ thực sự sử dụng những tính năng mặc dù. Nó hoạt động như một cảnh báo, nó không áp đặt cách sử dụng. –

Trả lời

4

no-restricted-syntax quy tắc không cho phép cú pháp cụ thể. "Cú pháp" này có nghĩa là các loại nút AST. Thông số kỹ thuật của AST ở đây: https://github.com/estree/estree

eslint-plugin-node Quy tắc tính năng không được hỗ trợ không cho phép các tính năng ECMA không được hỗ trợ theo phiên bản Node cụ thể. Tôi không biết liệu một quy tắc tương tự cho các trình duyệt có tồn tại hay không.

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