【问题标题】:eslint not linting though server is running虽然服务器正在运行,但 eslint 没有 linting
【发布时间】:2020-03-14 00:24:03
【问题描述】:

我在网上下载了一个前端模板,yarn 安装了所有包,一个 .eslint.json 文件确实存在,并且扩展安装在 Visual Studio Code 中,但它没有显示任何 linting 错误。

这是我的 .eslint.json 文件

{
  "parser": "babel-eslint",
  "parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true,
      "modules": true,
      "experimentalObjectRestSpread": true
    }
  },
  "extends": [
    "airbnb",
    "prettier",
    "prettier/react",
    "plugin:flowtype/recommended"
  ],
  "plugins": ["flowtype", "react"],
  "env": {
    "browser": true,
    "node": true,
    "jest": true
  },
  "rules": {
    "import/no-extraneous-dependencies": ["error", { "packageDir": "./" }],
    "jsx-a11y/anchor-is-valid": [
      "error",
      {
        "components": ["Link"],
        "specialLink": ["to"]
      }
    ]
  }
}

这是我的 package.json 文件

{
  "name": "reactjs-template",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "eslint-plugin-prettier": "^3.1.1",
    "react": "^16.6.3",
    "react-dom": "^16.6.3",
    "react-scripts": "2.1.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "test:auto": "mocha test",
    "eject": "react-scripts eject",
    "lint": "eslint src --ext .js,.jsx",
    "flow": "flow"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-preset-flow": "^6.23.0",
    "chai": "^4.2.0",
    "chai-as-promised": "^7.1.1",
    "eslint": "^6.6.0",
    "eslint-config-airbnb": "^17.1.0",
    "eslint-config-prettier": "^6.6.0",
    "eslint-plugin-flowtype": "^3.2.0",
    "eslint-plugin-import": "^2.14.0",
    "eslint-plugin-jsx-a11y": "^6.1.2",
    "eslint-plugin-react": "^7.11.1",
    "flow-bin": "0.83.0",
    "flow-typed": "^2.5.1",
    "mocha": "^5.2.0",
    "prettier": "^1.19.1",
    "selenium-webdriver": "^4.0.0-alpha.1"
  }
}

这是我的 settings.json 文件

{
  "editor.suggestSelection": "first",
  "vsintellicode.modify.editor.suggestSelection": "choseToUpdateConfiguration",
  "eslint.packageManager": "yarn",
  "javascript.autoClosingTags": false,
  "javascript.format.enable": false,
  "javascript.format.insertSpaceAfterCommaDelimiter": false,
  "javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": false,
  "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": false,
  "javascript.format.insertSpaceAfterKeywordsInControlFlowStatements": false,
  "javascript.format.insertSpaceAfterSemicolonInForStatements": false,
  "javascript.format.insertSpaceBeforeAndAfterBinaryOperators": false,
  "typescript.tsc.autoDetect": "off",
  "files.eol": "\n",
  "prettier.endOfLine": "lf",
  "prettier.jsxSingleQuote": true,

  "prettier.singleQuote": true,
  "javascript.updateImportsOnFileMove.enabled": "always",
  "eslint.alwaysShowStatus": true,
  "eslint.lintTask.enable": true,

  "eslint.run": "onSave",
  "eslint.autoFixOnSave": true



}

我下载的模板是公司的个人模板,但这里是 package.json,看看它需要什么

【问题讨论】:

  • 您使用的是 Visual Studio 还是 Visual Studio Code?​​span>
  • 我正在使用 Visual Studio 代码
  • 您的问题不完整。你用的是什么模板?安装了哪些软件包(显示package.json 文件)?你安装了哪些插件?
  • @EmileBergeron 我在原始问题中粘贴了 package.json 文件。谢谢
  • 谁能帮忙

标签: javascript reactjs npm visual-studio-code eslint


【解决方案1】:

如果并且没有遗漏某些内容,请按照或检查您是否执行了后续步骤:

  • 如果没有,请下载 VSCode 的 ESLint 和 Prettier 扩展
  • 在您的项目npm install -D eslint prettier 中安装 ESlint 和 Prettier 库(或使用 yarn)
  • 安装 eslint-config-prettier(禁用 ESLint 格式化)和 eslint-plugin-prettier(允许 ESLint 在我们键入时显示格式化错误)npm install -D eslint-config-prettier eslint-plugin-prettier

之后,如果考虑到你的 eslintrc 文件安装了所有依赖项,你应该能够重新启动 vscode 并直接在编辑器中查看错误。

请注意,这是“通用”的东西,您可能需要安装更多包以添加更多验证。

【讨论】:

  • @tony_h 你能检查一下你是否真的将你的 eslint 配置文件命名为“.eslintrc.json”吗?将其命名为“.eslint.json”使其默认无法被 vscode 识别
  • 这里直接复制文件名:.eslintrc.json
  • 能否请您在vscode中打开“用户设置”并在搜索栏中输入“eslint validate”?在那里你会看到一些 linter 使用的语言,确保你需要的那些被选中
  • 也尝试执行“command + shift + p”并编写“eslint enable”。然后,按 enter 确保 linter 已启用。之后也重新启动。
  • 我编辑并粘贴了 settings.json 文件供您查看
猜你喜欢
  • 1970-01-01
  • 2015-05-08
  • 2022-01-22
  • 2022-09-23
  • 2016-10-24
  • 1970-01-01
  • 1970-01-01
  • 2016-09-28
  • 2012-08-29
相关资源
最近更新 更多