在“单”语法之前应有“多”语法

时间:2019-10-23 13:29:17

标签: eslint

我正在尝试这样导入文件,但出现错误:在“单”语法之前应使用“多”语法

import { Component, Prop, Vue } from 'vue-property-decorator';
import { getModule } from 'vuex-module-decorators';
import { ApiException, IProduct, IProductCategory } from '@/services'; // error here
import { INavs } from '@/types';

规则配置:

'sort-imports': ['error', {
    'ignoreCase': false,
    'ignoreDeclarationSort': false,
    'ignoreMemberSort': false,
    'memberSyntaxSortOrder': ['none', 'all', 'multiple', 'single']
}]

2 个答案:

答案 0 :(得分:3)

import { ApiException, IProduct, IProductCategory } from '@/services';正在导入多个(三个)导出。

import { getModule } from 'vuex-module-decorators';import { INavs } from '@/types';都仅导入单个命名的导出。

如果将import { ApiException, IProduct, IProductCategory }向上移动一行,使其高于单个导入,则该错误将消失。 在您的设置中将其配置为'memberSyntaxSortOrder': ['none', 'all', 'multiple', 'single'],因为“ multiple”在“ single”之前列出。

您可以在https://eslint.org/docs/rules/sort-imports的eslint文档中了解有关此内容的更多信息

答案 1 :(得分:0)

在寻找用于重新排序多个导入的 CI 解决方案时也遇到了这个问题,因为 ESLint --fix 仅支持一行中的多个成员

eslint-plugin-simple-import-sort 效果很好,阅读 docs 后错误神奇地消失了:

<块引用>

确保不要同时使用其他排序规则:

  • [排序导入]
  • [导入/订购]