Node.js Typescript eslint-缺少文件扩展名“;ts";导入/扩展
我有一个简单的Node/Express应用程序,它是用Typescript制作的。 埃斯林告诉我错误Node.js Typescript eslint-缺少文件扩展名“;ts";导入/扩展,node.js,typescript,eslint,Node.js,Typescript,Eslint,我有一个简单的Node/Express应用程序,它是用Typescript制作的。 埃斯林告诉我错误 Missing file extension "ts" for "./lib/env" import/extensions 这是我的.eslintrc文件 { "extends": [ "airbnb", "plugin:@typescript-eslint/recommend
Missing file extension "ts" for "./lib/env" import/extensions
这是我的.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
}
}
我已经安装了eslint插件导入和eslint导入解析器类型脚本。
我不知道为什么会出现这个错误。将以下代码添加到
规则中:
"rules": {
"import/extensions": [
"error",
"ignorePackages",
{
"js": "never",
"jsx": "never",
"ts": "never",
"tsx": "never"
}
]
}
airbnb
ESLint导致问题。将此添加到ESLint配置中的规则中:
"rules": {
"import/extensions": "off"
}
这将禁用该规则,因为airbnb的配置将启用它。我知道这已经晚了,但是如果您要扩展airbnb规则,您可以使用它
首先卸载旧版本并添加新版本:
#卸载您正在使用的任何一个
npm卸载eslint配置airbnb
npm卸载eslint配置airbnb base
#安装typescriptone
npm安装-D eslint配置airbnb类型脚本
然后更新您的ESlint配置,从“扩展”部分删除旧的Airbnb并添加新的:
扩展:[“airbnb typescript”]
成功了!谢谢(其他读者:请确保将其置于“规则”而非“设置”之下)@Venryx感谢您的善意提醒。我只是把它放错了块。但是这有什么用呢?@JulianSoto对于在typescript项目中使用“eslint config airbnb base”的人来说,有一条规则“确保在导入路径中一致使用文件扩展名”,这就导致了问题。因此,我们可以覆盖它以适应typescript项目。使用eslint 7.27.0,我发现规则“导入/扩展”的配置无效:严重性应为以下之一:0=关闭,1=警告,2=错误(您传递了“错误”)
禁用某些东西永远不是解决方案…@RichardZilahi这次不是