為什么要使用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
