为什么要使用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"
}
最后,VSCode安装插件
此时可以看到在coding时,就可以实时提示静态代码问题