【问题标题】:Typescript import type Eslint: import/namedTypescript 导入类型 Eslint:导入/命名
【发布时间】:2019-08-11 03:24:36
【问题描述】:

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

  • 解析器:@typescript-eslint/parser1.4.2
  • 插件:@typescript-eslint/eslint-plugin1.4.2
  • 解析器:eslint-import-resolver-typescript1.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 抛出错误:

A 仅指一种类型,但在这里用作命名空间

两种方式都有错误,一种来自eslint,一种来自IDE(Vs Code,可能是Tshint)

你能帮我修一下吗?

提前致谢!

【问题讨论】:

    标签: typescript eslint eslint-config-airbnb


    【解决方案1】:

    我认为您的错误与 Eslint 无关。据我所知,这似乎是一个基本的 Typescript 错误。

    您的A.ts 不包含默认导出。为了从A.ts 导入整个模块,您应该使用

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

    另请参阅Typsescript documentation on import statements

    【讨论】:

      【解决方案2】:

      你试过了吗?

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

      【讨论】:

        猜你喜欢
        • 2022-12-16
        • 1970-01-01
        • 2020-12-11
        • 1970-01-01
        • 2019-06-25
        • 2016-07-17
        • 2020-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多