Bộ tạo ESLintrc
Công cụ này tạo tệp cấu hình .eslintrc.json sẵn sàng sử dụng từ bốn lựa chọn: môi trường trình duyệt hoặc Node, hỗ trợ TypeScript và hỗ trợ React. Nó kết nối eslint:recommended, các plugin TypeScript hoặc React tương ứng và vài thay thế quy tắc hợp lý, để bạn dán kết quả vào dự án của mình.
Cách tạo cấu hình ESLint
-
1
Chọn môi trường
Cho biết mã chạy trong trình duyệt, trong Node.js hay cả hai. Bộ tạo sẽ thiết lập các mục `env` tương ứng, kèm `es2022`.
-
2
Bật TypeScript
Đánh dấu TypeScript và bộ tạo sẽ thêm `@typescript-eslint/parser` cùng plugin TypeScript được khuyến nghị.
-
3
Bật React
Đánh dấu React và bộ tạo sẽ thêm `eslint-plugin-react` kèm bộ cài đặt sẵn được khuyến nghị.
-
4
Tạo
Nhấp vào nút và cấu hình được tạo dưới dạng JSON có định dạng rõ ràng.
-
5
Sao chép vào dự án
Dán kết quả vào `.eslintrc.json` và cài đặt các plugin mà cấu hình tham chiếu.
Cấu hình được tạo gồm những gì
Bộ tạo luôn bắt đầu từ eslint:recommended và thêm đúng những gì lựa chọn của bạn bao hàm:
envvớibrowservà/hoặcnode, kèmes2022@typescript-eslint/parservàplugin:@typescript-eslint/recommendedkhi TypeScript được bậtplugin:react/recommendedkhi React được bậtno-consolevàno-unused-varsđược đặt thànhwarn
Kết quả là một đối tượng JSON đơn giản theo dạng .eslintrc.json truyền thống, sẵn sàng để dán và mở rộng bằng các quy tắc của riêng bạn.
So sánh cấu hình phẳng và cấu hình truyền thống
ESLint 9 đã loại bỏ định dạng .eslintrc.* và chuyển sang sử dụng định dạng cấu hình phẳng (eslint.config.js). Các điểm khác biệt chính như sau:
| Khía cạnh | Truyền thống (.eslintrc) | Phẳng (eslint.config.js) |
|---|---|---|
| Định dạng | JSON, YAML hoặc CommonJS | Mô-đun JavaScript ESM hoặc CommonJS |
| Mở rộng | extends: ["plugin:react/recommended"] |
Phân bổ vào mảng: ...reactPlugin.configs.recommended |
| Thiết lập thay thế | Mảng overrides với các mẫu dạng glob |
Nhiều đối tượng trong mảng được xuất |
| Các biến toàn cục | env: { browser: true } |
languageOptions.globals với các nhập liệu được chỉ định rõ ràng |
| Bỏ qua | Tệp .eslintignore |
Trường ignores trong mảng cấu hình |
Các dự án mới nên sử dụng cấu hình dạng phẳng. Các dự án hiện có có thể tiếp tục sử dụng phiên bản cũ trong suốt dòng sản phẩm 10.x, nhưng khuyến nghị thực hiện quá trình di chuyển.
Hệ sinh thái plugin
Các plugin điển hình cho dự án React/TS:
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
eslint-plugin-react
eslint-plugin-react-hooks
eslint-plugin-jsx-a11y
eslint-plugin-import
eslint-config-prettier
Đây là sáu gói cài đặt dành cho một hệ thống có quan điểm nhất định ở mức độ trung bình. Bộ tạo chỉ thêm những plugin bạn chọn, vì vậy bạn chỉ cài đặt những gì cấu hình tham chiếu.
Cùng tồn tại với Prettier
Prettier chịu trách nhiệm về định dạng; ESLint đảm bảo tính chính xác và phong cách không chỉ giới hạn ở việc định dạng. Để tránh xung đột:
- Cài đặt
eslint-config-prettiervà thêm nó vào vị trí cuối cùng trong tệp extends/config của bạn. - Nó tắt tất cả các quy tắc của ESLint mà mâu thuẫn với kết quả đầu ra của Prettier.
- Chạy Prettier riêng biệt (khi lưu trong trình soạn thảo, trong bước trước khi ghi nhận, hoặc trong quy trình CI).
Đừng sử dụng eslint-plugin-prettier trong các dự án mới; công cụ này làm chậm tốc độ hoạt động của ESLint do nó chạy Prettier bên trong ESLint. Hãy tách hai công cụ này ra khỏi nhau.
Những mẹo điều chỉnh quy tắc
- Bắt đầu ở mức lỏng, sau đó tăng độ chặt dần. Hãy bật cảnh báo trước khi lỗi xảy ra.
- Ghi đè cho các bài kiểm thử. Các tệp kiểm thử thường yêu cầu chế độ
no-unused-expressionsđược nới lỏng và các biến toàn cục của Jest có sẵn. - Ghi đè cho các script. Các script xây dựng có thể cần sử dụng các biến toàn cục của Node mà không cần thêm
env: nodevào toàn bộ hệ thống. - Ghi chú các thay đổi. Mỗi lần thay đổi quy tắc đều cần có chú thích giải thích lý do.
Cấu hình phù hợp với trình soạn thảo của bạn
VS Code yêu cầu tiện ích mở rộng ESLint đã được cài đặt và cấu hình đúng cách. Hãy thêm các thiết lập này vào môi trường làm việc để tự động sửa lỗi khi lưu file.
{
"editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" },
"eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"]
}
Câu hỏi thường gặp
Đối với các dự án mới, sử dụng cấu hình flat (eslint.config.js). Bộ tạo này xuất ra định dạng .eslintrc.json truyền thống, được ESLint đọc trực tiếp ở chế độ legacy; bảng so sánh ở trên cho biết điều gì thay đổi nếu bạn chuyển đổi sau này.
Đúng vậy, nếu bạn đang sử dụng TypeScript thì các mã định nghĩa @typescript-eslint/parser và @typescript-eslint/eslint-plugin sẽ hỗ trợ chức năng kiểm tra lỗi có tính năng nhận diện TypeScript. Đối với các quy tắc liên quan đến kiểu dữ liệu (không chỉ cú pháp), hãy cấu hình bộ phân tích cũng bằng mã định nghĩa project: './tsconfig.json'.
Thông thường các phụ thuộc thiếu trong quy trình CI. Hãy đảm bảo rằng mã @typescript-eslint/*, các plugin và phiên bản ESLint trùng khớp giữa môi trường cục bộ và môi trường CI. Trong môi trường CI, hãy sử dụng mã npm ci (không phải npm install) để tuân thủ yêu cầu của file khóa.
Không. Các lựa chọn của bạn chỉ được dùng để tạo cấu hình; chúng không được lưu trữ và không được chia sẻ cho bên thứ ba.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Bộ chuyển đổi Base64 sang Hex
Chuyển chuỗi Base64 chuẩn thành các byte nền tảng được viết dưới dạng hexadecimal liên tục in hoa. Giải mã nghiêm ngặt, lý tưởng cho token, khóa và chữ ký JWT.
Trình xem hex của tệp nhị phân
Chọn một tệp và kiểm tra phần dữ liệu giới hạn từ bất kỳ offset byte hợp lệ nào dưới dạng hex dump cục bộ với cột offset, hex và ASCII.
Công cụ xác thực số điện thoại
Kiểm tra cấu trúc số theo quốc gia và xem khu vực, loại số cùng các định dạng E.164, quốc tế, quốc gia và RFC 3966.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Generador de ESLintrc [ES]
- เครื่องสร้าง ESLintrc [TH]
- ESLintrc-generator [NL]
- ESLintrc生成器 [ZH]
- ESLintrc 생성기 [KO]
- Générateur d'ESLintrc [FR]
- ESLintrc-generator [SV]
- Generator ESLintrc [ID]
- Gerador de ESLintrc [PT]
- ESLintrc-Generator [DE]
- ESLintrc Üreticisi [TR]
- Generator .eslintrc [PL]
- ESLintrc Generator [EN]
- ESLintrc ジェネレーター [JA]
- مولد ESLintrc [AR]
- Generatore ESLintrc [IT]
- Генератор ESLintrc [RU]