Typescript 导入类型 Eslint:import/named
Typescript import type Eslint: import/named
我的项目使用 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 抛出错误:
A only refers to a type, but is being used as a namespace here
两种方法都有错误,一种来自eslint
,一种来自IDE(Vs Code,可能是Tshint)
你能帮我解决其中一个问题吗?
提前致谢!
你试过吗?
import A as A from '../A';
我认为您的错误与 Eslint 无关。据我所知,这似乎是一个基本的 Typescript 错误。
您的 A.ts
不包含默认导出。为了从 A.ts
导入整个模块,您应该使用
import * as A from '../A';
我的项目使用 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 抛出错误:
A only refers to a type, but is being used as a namespace here
两种方法都有错误,一种来自eslint
,一种来自IDE(Vs Code,可能是Tshint)
你能帮我解决其中一个问题吗?
提前致谢!
你试过吗?
import A as A from '../A';
我认为您的错误与 Eslint 无关。据我所知,这似乎是一个基本的 Typescript 错误。
您的 A.ts
不包含默认导出。为了从 A.ts
导入整个模块,您应该使用
import * as A from '../A';