TypeScript导入类型Eslint规则:import/named

3

我在我的项目中使用 Eslint,使用以下内容:

  • 解析器:@typescript-eslint/parser 1.4.2
  • 插件:@typescript-eslint/eslint-plugin 1.4.2
  • 导入解析器:eslint-import-resolver-typescript 1.1.1
  • 规则扩展:airbnb-baseplugin:@typescript-eslint/recommended

你也可以查看我的.eslintrc文件:

{
  "parser": "@typescript-eslint/parser",
  "plugins": [
    "@typescript-eslint"
  ],
  "extends": ["airbnb-base", "plugin:@typescript-eslint/recommended"],
  "settings": {
    "import/parsers": {
      "@typescript-eslint/parser": [".ts"]
    },
    "import/resolver": {
      "typescript": {}
    }
  },
  "rules": {
    "no-plusplus": "off",
    "import/no-cycle": "warn",
    "@typescript-eslint/indent": ["error", 2],
    "@typescript-eslint/explicit-member-accessibility": "off"
  }
}

在文件A.ts中,我使用了:export type Id = string;并从B.ts导入:import { Id } from '../A';

我尝试使用:

import A from '../A';

我尝试调用 A.Id,但是出错了:

A只是一个类型,但这里被当作命名空间使用

有两个错误,一个来自eslint,另一个来自IDE(比如Vs Code或Tshint)

你能帮我修复其中之一吗?

提前感谢!

3个回答

4
我认为你的错误与Eslint无关。从我看到的情况来看,它似乎是基本的TypeScript错误。
你的 A.ts 文件没有默认导出。为了从 A.ts 导入整个模块,你应该使用:
import * as A from '../A';

请参考Typescript关于import语句的文档


0

文档中了解import/named

请注意,Flow使用的类型导入和导出始终被忽略


-2

你试过这个吗?

import A as A from '../A'; 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接