React + Prettier + ESLint + Airbnb


為什么要使用eslint、airbnb配置項? 因為:
ESLint + Airbnb = Standard JS

步驟如下:
1:create-react-app cra-eslint-airbnb-sample --template typescript
2:cd cra-eslint-airbnb-sample
3:npm install eslint —-save-dev
4:npm install eslint-config-airbnb --save-dev (非typescript項目)
npm install eslint-config-airbnb-typescript --save-dev (typescript項目)
5:根目錄下新建:.eslintrc
添加代碼:

    {
      "extends": "airbnb"
    }

6:src下添加測試代碼test.tsx

export default function Test (){
  var a = 1;
  var b = 2;
}

7: package.json -> scripts -> 添加以下:
"lint": "./node_modules/.bin/eslint ./src/test.tsx"
//上述配置,也可以指定文件夾,或文件類型,比如:
"lint": "eslint --fix src/**/*.{js,jsx,ts,tsx}"

8:執行 npm run lint, 結果如下:

上述每次都要npm run lint才能發現問題,怎么做到coding的時候實時發現問題呢? 使用Prettier插件。 實現方式如下:

npm install -g eslint
npm install -g prettier

npm install eslint eslint-config-airbnb-typescript eslint-config-airbnb-typescript-prettier eslint-config-prettier eslint-plugin-prettier prettier @typescript-eslint/eslint-plugin @typescript-eslint/parser --save-dev

再添加如下scripts:
"lint": "eslint --fix src//*.{js,jsx,ts,tsx}",
"format": "prettier --write src/
/*.{js,jsx,ts,tsx}"

添加.prettierrc

{
    "singleQuote": true,
    "trailingComma": "all",
    "endOfLine":"auto"
  }

添加.eslintrc

{
    "extends": "airbnb-typescript-prettier",
    "parserOptions": {
        "project": "./tsconfig.json"
    }
}

最后,VSCode安裝插件

此時可以看到在coding時,就可以實時提示靜態代碼問題

參考:
https://github.com/iamturns/eslint-config-airbnb-typescript


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM