Javascript 如何在VSCode中的同一项目中对.ts文件和.js文件运行typescript eslint
我有一个混合了javascript和typescript文件的代码库。我希望在VSCode中的.js文件上运行eslint,在.ts文件上运行typescript eslint 我已经成功地配置了.eslintrc.json文件,以使typescript eslint在.ts文件上运行。问题是,它也会在.js文件上运行typescript eslint,而不是普通的旧eslintJavascript 如何在VSCode中的同一项目中对.ts文件和.js文件运行typescript eslint,javascript,typescript,visual-studio-code,eslint,Javascript,Typescript,Visual Studio Code,Eslint,我有一个混合了javascript和typescript文件的代码库。我希望在VSCode中的.js文件上运行eslint,在.ts文件上运行typescript eslint 我已经成功地配置了.eslintrc.json文件,以使typescript eslint在.ts文件上运行。问题是,它也会在.js文件上运行typescript eslint,而不是普通的旧eslint 这看起来应该很简单,也很常见,但尽管在互联网上搜索了很多次,我还是没有找到解决方案。您需要覆盖配置,以便对js和ts
这看起来应该很简单,也很常见,但尽管在互联网上搜索了很多次,我还是没有找到解决方案。您需要覆盖配置,以便对js和ts文件使用单独的解析器。您可以如下配置.eslintrc.js
module.exports = {
root: true,
extends: [
'eslint:recommended'
],
"overrides": [
{
"files": ["**/*.ts", "**/*.tsx"],
"env": { "browser": true, "es6": true, "node": true },
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"globals": { "Atomics": "readonly", "SharedArrayBuffer": "readonly" },
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": { "jsx": true },
"ecmaVersion": 2018,
"sourceType": "module",
"project": "./tsconfig.json"
},
"plugins": ["@typescript-eslint"],
"rules": {
"indent": ["error", 2, { "SwitchCase": 1 }],
"linebreak-style": ["error", "unix"],
"quotes": ["error", "single"],
"comma-dangle": ["error", "always-multiline"],
"@typescript-eslint/no-explicit-any": 0
}
}
]
};
示例项目是您可以在不同的目录中有不同的.eslintrc文件。您还可以为*.ts或*.js中的文件包含“覆盖”规则集。看,谢谢你的提示!我为此挣扎了一段时间。