ES-LINT导入排序分组

时间:2019-12-05 06:21:25

标签: javascript node.js reactjs react-native eslint

在我的节点项目中,我使用ES-LINT。我想对进口进行分类。我配置了它,现在一切正常。但是,我无法对导入和排序进行分组。

import request from 'request';

import { asyncHandler } from 'middleware';
import { githutOptions } from 'constants/options.constant';

import profileService from 'services/profile.service';

在这里,我收到一条警告,提示 进口商品应按字母顺序排序。 。 (asyncHandler)

为什么没有基于分组进行排序?在我参与的另一个项目中,如果有多个分组的导入,则仅在这些分组内对它们进行排序。

但是在这里,即使我将这些导入分组,它也会考虑整个文件,因此asyncHanler应该作为第一行。我在这里想要的是仅对组内的导入进行排序。

我该如何实现?

这些是我对进口商品排序的陪同规则。

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

2 个答案:

答案 0 :(得分:1)

这正是ignoreDeclarationSort的作用:如果为true,则ESLint将忽略import行。如果ignoreMemberSortfalse,它将检查命名导入的顺序。

所以

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

应该为您工作。

答案 1 :(得分:0)

eslint在版本allowSeparatedGroups中用sort-imports的{​​{1}}选项添加了您想要的内容

cf: