Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Typescript eslint-缺少文件扩展名“;ts";导入/扩展_Node.js_Typescript_Eslint - Fatal编程技术网

Node.js Typescript eslint-缺少文件扩展名“;ts";导入/扩展

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

我有一个简单的Node/Express应用程序,它是用Typescript制作的。 埃斯林告诉我错误

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这次不是