首页 > 解决方案 > 为什么 eslint 不显示打字稿错误?

问题描述

为什么 eslint 不在控制台中显示打字稿错误?如果我理解正确的 eslint 应该在控制台中显示打字稿错误。如果不是真的,请帮助我了解如何正确使用 typescript 检查 eslint 错误?

我有一个 .eslintrc.json 配置。

{
  "env": {
    "browser": true,
    "es6": true
  },
  "extends": [
    "airbnb",
    "prettier",
    "eslint:recommended",
    "plugin:react/recommended",
    "plugin:@typescript-eslint/eslint-recommended"
  ],
  "globals": {
    "Atomics": "readonly",
    "SharedArrayBuffer": "readonly"
  },
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": 2018,
    "sourceType": "module"
  },
  "plugins": ["prettier", "react", "@typescript-eslint"],
  "rules": {
    "prettier/prettier": ["error"],
    "react/jsx-filename-extension": [1, { "extensions": [".ts", ".tsx"] }]
  },
  "settings": {
    "react": {
      "version": "detect"
    }
  }
}

我的 babelrc

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "corejs": 3,
        "useBuiltIns": "usage",
        "modules": false,
        "loose": true,
        "targets": ["last 1 version", "> 1%", "not dead", "not IE 11", "not ie_mob 11"],
        "debug": true
      }
    ],
    "@babel/preset-react",
    "@babel/preset-typescript"
  ]
}

我的 package.json 中的脚本

"lint:es": "eslint --ext=.js,.ts,.tsx src"

我一般我想在运行我的 webpack devs erver 时添加打字稿结束 linter 检查。

标签: typescriptfrontendeslint

解决方案


您需要指定项目“tsconfig.json”

 "parserOptions": {
        "sourceType": "module",
        "ecmaVersion": 2018,
        "ecmaFeatures": {
          "jsx": false
        },
        "project": ["./tsconfig.json"],
        "tsconfigRootDir": "./"
    }

然后在你的 package.json 添加:

"lint": "eslint \"src/**/*.ts\""

最后tsconfog.json你需要

"compilerOptions": {
....
},
"include": [
"./src/*.ts",
"./src/**/*.ts",
"./src/**/**/*.ts",
"./src/**/**/**/*.ts",
"./src/**/**/**/**/*.ts",
"./src/**/**/**/**/**/*.ts",
],
"exclude":[
"./node_modules/"
]

推荐阅读