今天在創建新項目的時候,給cra創建的項目添加eslint支持,出現如下報錯
添加eslint
npx eslint --init
頁面報錯
Compiled with problems:
×
ERROR
[eslint] package.json ? eslint-config-react-app/jest#overrides[0]:Environment key "jest/globals" is unknown
解決方案:
應該是環境變量里面出現了jest這個庫,導致的問題
找到pachage.json文件去掉這個配置項
再次啟動項目就可以了
配置文件修改
Line 6:9: 'a' is assigned a value but never used @typescript-eslint/no-unused-vars
增加配置
import js from "@eslint/js";
import globals from "globals";
import tseslint from "typescript-eslint";
import pluginReact from "eslint-plugin-react";
import { defineConfig } from "eslint/config";export default defineConfig([{ files: ["**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"], plugins: { js }, extends: ["js/recommended"] },{ files: ["**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"], languageOptions: { globals: globals.browser } },tseslint.configs.recommended,pluginReact.configs.flat.recommended,{files: ["**/*.{ts,mts,cts,tsx}"],languageOptions: {parserOptions: {project: true,},},// 忽略測試文件ignores: ["./src/**/*.test.**"],rules: {"@typescript-eslint/no-unused-vars": "off"},},
]);
這樣就去掉了警告信息
報錯3:Parsing error: project was set to true
but couldn’t find any tsconfig.json relative to
在運行npm run lint
命令時的報錯
> r18-ts-demo@0.1.0 lint
> eslint ./src/**/*.{ts,mts,cts,tsx} --fixWarning: React version not specified in eslint-plugin-react settings. See https://github.com/jsx-eslint/eslint-plugin-react#configuration .D:\mine\r18-ts-demo\src\App.test.tsx7:9 error 'linkElement' is assigned a value but never used @typescript-eslint/no-unused-varsD:\mine\r18-ts-demo\src\App.tsx0:0 error Parsing error: project was set to `true` but couldn't find any tsconfig.json relative to 'D:\mine\r18-ts-demo\src\App.tsx' within 'D:\mine\r18-ts-demo\'D:\mine\r18-ts-demo\src\index.tsx0:0 error Parsing error: project was set to `true` but couldn't find any tsconfig.json relative to 'D:\mine\r18-ts-demo\src\index.tsx' within 'D:\mine\r18-ts-demo\'D:\mine\r18-ts-demo\src\react-app-env.d.ts0:0 error Parsing error: project was set to `true` but couldn't find any tsconfig.json relative to 'D:\mine\r18-ts-demo\src\react-app-env.d.ts' within 'D:\mine\r18-ts-demo\'
意思是eslint的配置文件找不到tsconfig.json文件
所以我們需要將project:true修改下
這樣就找到了項目根目錄下的ts配置文件,再次校驗即可
關于配置寫錯文件的報錯
我在測試文件中,聲明了一個變量,但是沒用使用
eslint會報警告
根據提示添加了在eslint.config中添加了如下的配置
rules: {"@typescript-eslint/no-unused-vars": "off",}
重啟后,卻不生效,這點確實有點詭異
使用的是自動生成的配置文件,一時不知道問題出在哪里
后來排除錯誤原來規則應該寫在package.json文件里面
再次重啟,這個警告信息就沒有!!所以這點要注意,寫對文件位置
"eslintConfig": {"extends": ["react-app"],"rules": {"@typescript-eslint/no-unused-vars": "off"}
}