打字稿导入类型Eslint:导入/命名

时间:2019-03-20 12:21:36

标签: typescript eslint eslint-config-airbnb

我将Eslint用于我的项目,请使用:

  • 分析器:WITH rsqfc ( id, col, string_start, string_end ) AS ( SELECT id, col, 1, INSTR( col, ',', 1, 2 ) FROM test_data UNION ALL SELECT id, col, string_end + 1, INSTR( col, ',', string_end + 1, 2 ) FROM rsqfc WHERE string_end > 0 ) SELECT id, CASE string_end WHEN 0 THEN SUBSTR( col, string_start ) ELSE SUBSTR( col, string_start, string_end - string_start ) END AS pair FROM rsqfc; 1.4.2
  • 插件:@typescript-eslint/parser 1.4.2
  • 解析器:@typescript-eslint/eslint-plugin 1.1.1
  • 规则扩展:eslint-import-resolver-typescriptairbnb-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';

并调用A.Id但出现同伴抛出错误:

  

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

两种方法都有错误,一种来自import A from '../A'; ,一种来自IDE(Vs Code,也许是Tshint)

您能帮我修复其中一个吗?

提前谢谢!

2 个答案:

答案 0 :(得分:3)

我不认为您的错误与Eslint有关。据我看来,这似乎是基本的Typescript错误。

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

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

另请参阅Typsescript documentation on import statements

答案 1 :(得分:0)

您尝试过吗?

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