我用——template typescript创建了一个新的React Native项目
我删除了作为样板的一部分的模板目录。
然后我继续添加ESLint:
module.exports = {
parser: "@typescript-eslint/parser",
plugins: ["@typescript-eslint"],
extends: ["airbnb-typescript-prettier"]
};
然而,当我打开babel.config.js时,我得到这个错误
解析错误:"parserOptions. "已经为@typescript-eslint/parser设置了Project "。
该文件与您的项目配置不匹配:/Users/Dan/site/babel.config.js。
该文件必须包含在至少一个提供的项目中。eslint
你可以为eslint配置创建一个单独的TypeScript配置文件(tsconfig.eslint.json)。该文件扩展了tsconfig配置和设置,包括必须检测的文件的key。
.eslint.js:
// ...
parserOptions: {
// ...
project: "./tsconfig.eslint.json",
// ...
},
// ...
tsconfig.eslint.json:
{
"extends": "./tsconfig.json",
"include": [
// ...
"babel.config.js"
]
}
或者如果你想忽略它,你可以把它放在。eslintignore。
eslintignore:
// ...
babel.config.js
你可以为eslint配置创建一个单独的TypeScript配置文件(tsconfig.eslint.json)。该文件扩展了tsconfig配置和设置,包括必须检测的文件的key。
.eslint.js:
// ...
parserOptions: {
// ...
project: "./tsconfig.eslint.json",
// ...
},
// ...
tsconfig.eslint.json:
{
"extends": "./tsconfig.json",
"include": [
// ...
"babel.config.js"
]
}
或者如果你想忽略它,你可以把它放在。eslintignore。
eslintignore:
// ...
babel.config.js
Despite assurances that typescript definitely, absolutely, never caches anything, I suspected this was a caching issue after, when getting annoyed at incessant typescript errors while debugging and developing a feature, I modified my tsconfig.json to exclude my src directory temporarily. Upon reverting the change, and restarting my typescript server running through WebpackDevServer, I had this error, and got rid of it by doing yarn cache clean to clear my yarn cache, as well as rm -rf node_modules to delete my node modules folder. Then I re installed my packages with yarn and when I ran my devserver again, typescript/tslint no longer showed this error.
对我来说,这个问题发生在parserOptions中列出的项目时。项目扩展了基本的tsconfig。Json,它排除了这个文件。
删除extends: './tsconfig. txt。来自parserOptions中列出的项目的json。项目或从基本配置中删除exclude可以修复该问题。但是这种解决方法并不实用,因为我们需要扩展基本配置。
重写属性exclude将非常有帮助。
tsconfig.spec.json
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"types": ["jest"]
},
"include": ["**/*.spec.ts"],
"exclude": [""]
}