如何让 ESLint 识别全局导入变量并消除 'not defined' 警告?
全局导入,不需要再写import...
就可以使用,但是eslint显示.. not defined
,这该怎么解决?如何让elint知道它们已经导入了并且是定义的?
// vite.config.js
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
test: {
environment: "jsdom",
globals: true, // <----
setupFiles: "./testSetup.js",
},
});
// testSetup.js
import "@testing-library/jest-dom/vitest";
// .eslintrc.cjs
module.exports = {
root: true,
env: { browser: true, es2020: true },
extends: [
"eslint:recommended",
"plugin:react/recommended",
"plugin:react/jsx-runtime",
"plugin:react-hooks/recommended",
"plugin:testing-library/react",
],
ignorePatterns: ["dist", ".eslintrc.cjs"],
parserOptions: { ecmaVersion: "latest", sourceType: "module" },
settings: { react: { version: "18.2" } },
plugins: ["react-refresh", "testing-library"],
rules: {
"react/jsx-no-target-blank": "off",
"react-refresh/only-export-components": [
"warn",
{ allowConstantExport: true },
],
},
};
回复
1个回答
test
2024-06-19
在 eslint 的 env 配置中,增加 jest: true 或者是 "mocha": true 这类配置看一下。如果不行的话,在 eslint 中使用 globals 配置来声明全局的变量。
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容