代码之家  ›  专栏  ›  技术社区  ›  hong4rc 6ark

Typescript导入类型Eslint:import/named

  •  0
  • hong4rc 6ark  · 技术社区  · 5 年前

    我在我的项目中使用Eslint,使用:

    • 分析器: @typescript-eslint/parser 1.4.2条
    • 插件: @typescript-eslint/eslint-plugin 1.4.2条
    • 分解器: eslint-import-resolver-typescript 1.1.1条
    • 规则扩展: airbnb-base plugin:@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但ide throw错误:

    A仅引用类型,但在此处用作命名空间

    双向有错误,一个来自 eslint ,一个来自IDE(Vs代码,可能是Tshint)

    你能帮我修一个吗?

    提前谢谢!

    0 回复  |  直到 5 年前
        1
  •  3
  •   Holger Schmitz    5 年前

    我不认为你的错误与Eslint有关。据我所见,这似乎是一个基本的Typescript错误。

    你的 A.ts 不包含默认导出。为了从 A、 ts公司 你应该用

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

    另请参见 Typsescript documentation on import statements

        2
  •  0
  •   dervillers mattéo    5 年前

    你试过这个吗?

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