Nol*_*lat 105 node.js typescript eslint
我有一个用 Typescript 制作的简单 Node/Express 应用程序。和 eslint 给我错误
Missing file extension "ts" for "./lib/env" import/extensions
Run Code Online (Sandbox Code Playgroud)
这是我的 .eslintrc 文件
{
"extends": [
"airbnb",
"plugin:@typescript-eslint/recommended",
"prettier",
"prettier/react",
"plugin:import/errors",
"plugin:import/warnings",
"plugin:import/typescript"
],
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint", "prettier", "import"],
"settings": {
"import/extensions": [".js", ".jsx", ".ts", ".tsx"],
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"import/resolver": {
"typescript": {
"directory": "./tsconfig.json"
},
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
},
"rules": {
"@typescript-eslint/indent": [2, 2],
"no-console": "off",
"import/no-unresolved": [2, { "commonjs": true, "amd": true }],
"import/named": 2,
"import/namespace": 2,
"import/default": 2,
"import/export": 2
}
}
Run Code Online (Sandbox Code Playgroud)
我已经安装了 eslint-plugin-import 和 eslint-import-resolver-typescript。我不知道为什么,我得到了那个错误。
sup*_*yco 219
将以下代码添加到rules
:
"rules": {
"import/extensions": [
"error",
"ignorePackages",
{
"js": "never",
"jsx": "never",
"ts": "never",
"tsx": "never"
}
]
}
Run Code Online (Sandbox Code Playgroud)
airbnb
ESLint配置导致问题。
Rya*_*ale 27
我知道这已经晚了,但是如果您要扩展 Airbnb 规则,则可以使用eslint-config-airbnb-typescript。您应该能够按照 github 上项目 README 中的说明进行操作。
停止:在 2021 年 8 月之前,您还需要执行以下任务。这些说明保留在此处仅供历史参考。您应该不再需要这样做了。
首先卸载旧的并添加新的:
# uninstall whichever one you're using
npm uninstall eslint-config-airbnb
npm uninstall eslint-config-airbnb-base
# install the typescript one
npm install -D eslint-config-airbnb-typescript
Run Code Online (Sandbox Code Playgroud)
然后更新你的 ESlint 配置,从“扩展”部分删除旧的 Airbnb 并添加新的:
extends: ["airbnb-typescript"]
Run Code Online (Sandbox Code Playgroud)
小智 26
这是一个奇怪的解决方案,但我已经添加"": "never"
并且它对我有用(https://github.com/import-js/eslint-plugin-import/issues/1573)。
"rules": {
"import/extensions": [
"error",
"ignorePackages",
{
"": "never",
"js": "never",
"jsx": "never",
"ts": "never",
"tsx": "never"
}
]
}
Run Code Online (Sandbox Code Playgroud)
小智 12
将导入扩展和解析器添加到.eslintrc很重要
"settings": {
"import/extensions": [".js", ".jsx", ".ts", ".tsx"],
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
}
},
Run Code Online (Sandbox Code Playgroud)
进一步添加规则:
"import/extensions": [
"error",
"ignorePackages",
{
"js": "never",
"jsx": "never",
"ts": "never",
"tsx": "never"
}
]
enter code here
Run Code Online (Sandbox Code Playgroud)
通过捆绑我在互联网上找到的所有答案来完成这项工作:
这就是我的最终结果:
{
"settings": {
"import/extensions": [".js", ".jsx", ".ts", ".tsx"],
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
},
"env": {
"browser": true,
"es2021": true
},
"extends": ["plugin:react/recommended", "airbnb"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 12,
"sourceType": "module"
},
"plugins": ["import", "react", "@typescript-eslint"],
"rules": {
"no-console": 1,
"import/extensions": [
"error",
"ignorePackages",
{
"js": "never",
"jsx": "never",
"ts": "never",
"tsx": "never",
"mjs": "never"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我正在使用 React Native。如果你使用不同的东西,只需删除与反应相关的东西就足够了
归档时间: |
|
查看次数: |
63804 次 |
最近记录: |