跳至主要內容

ESLint

ESLint 是一種靜態分析工具,可協助您快速找出並修正程式碼中的錯誤和樣式錯誤。ESLint 提供的規則可補充 Flow 類型系統提供的檢查。

您可以快速設定 ESLint,使用 Yarnnpm 安裝 hermes-eslint

yarn add --dev eslint hermes-eslint eslint-plugin-ft-flow
# or
npm install --save-dev eslint hermes-eslint eslint-plugin-ft-flow

然後在專案根目錄中建立一個 .eslintrc.js 檔案,其中包含以下內容

module.exports = {
root: true,
parser: 'hermes-eslint',
plugins: [
'ft-flow'
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
],
};

在上述設定中,extends 外掛的順序很重要,因為 plugin:ft-flow/recommended 會停用 eslint:recommended 中的一些規則,因此必須在定義之後才能正確運作。

如需有關設定 ESLint 的更多資訊,請查看 ESLint 文件

然後,您可以使用以下指令程式碼檢查程式碼庫

yarn run eslint . --ext .js,.jsx
# or
npm run eslint . --ext .js,.jsx

與 Prettier 搭配使用

如果您使用 prettier,還有一個有用的設定可以協助確保 ESLint 針對 prettier 將修正的格式化問題不報告:eslint-config-prettier

將此設定新增至 extends結尾即可使用

  module.exports = {
root: true,
parser: 'hermes-eslint',
plugins: [
'ft-flow'
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
+ 'prettier',
],
};

其他外掛

ESLint 外掛程式提供額外的規則和其他功能,以擴充 ESLint 的功能。以下是幾個可能會有用的範例

每個外掛程式都包含其提供的各種設定檔和規則的說明文件。典型的外掛程式可能像這樣使用

  module.exports = {
root: true,
parser: 'hermes-eslint',
plugins: [
'ft-flow'
+ 'jest',
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
+ 'plugin:jest/recommended',
],
};

在 npm 上搜尋 "eslint-plugin" 以取得更多資訊。