2017-01-09 36 views
22

Tôi đã có nhiều tệp javascript và tôi đã xác định một số biến toàn cục trong tệp tải trước các tệp khác. Kết quả là tất cả các tệp được tải sau lần đầu tiên có quyền truy cập vào biến toàn cầu. Tuy nhiên, ESLint hiển thị biến toàn cục là "không được xác định". Tôi không muốn thay đổi các quy tắc của ESLint và tôi muốn tìm một cách thanh lịch để loại bỏ các thông báo lỗi này. Bất kỳ đầu mối nào? Cảm ơnBiến toàn cầu trong Javascript và ESLint

+2

'->' http://eslint.org/docs/user-guide/configuring#specifying-globals. Tài liệu của ESLint là IMO tuyệt vời, bạn nên xem xét điều đó. –

Trả lời

22

Tôi không nghĩ rằng việc hack các quy tắc ESLint cho mỗi tệp là một ý tưởng tuyệt vời.

Bạn nên xác định rõ hơn globals trong .eslintrc hoặc package.json.

Đối .eslintrc:

"globals": { 
    "angular": true 
} 

Đối package.json:

"eslintConfig": { 
    "globals": { 
     "angular": true 
    } 
} 

PS

tài liệu Reading là một đức tính bắt buộc đối với các nhà phát triển

+4

Cần lưu ý rằng bạn đặt biến toàn cục thành 'true' nếu bạn có thể gán biến cho một biến khác và' false' nếu nó không được gán lại. – RedSparr0w

18

Bạn có thể thêm globals hoặc mỗi tập tin hoặc trong cấu hình của bạn. Nếu bạn không muốn thay đổi cấu hình của mình, bạn sẽ phải thêm các hình cầu được sử dụng trong mỗi tệp.

Để xác định globals sử dụng một bình luận bên trong tệp JavaScript của bạn, sử dụng định dạng sau:

/* global var1, var2 */ 

này định nghĩa hai biến toàn cầu, var1var2. Nếu bạn muốn tùy chọn xác định rằng các biến toàn cầu không bao giờ nên được ghi vào (chỉ đọc), sau đó bạn có thể thiết lập mỗi một lá cờ sai:

/* global var1:false, var2:false */ 

http://eslint.org/docs/2.0.0/user-guide/configuring#specifying-globals

+0

Cảm ơn bạn đã hoạt động! –

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