ESLint导入排序分组

问题描述 投票:0回答:3

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

import request from 'request';

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

import profileService from 'services/profile.service';

在这里,我收到一条警告,指出第二行的导入应按字母顺序排序。。 (异步处理程序)

为什么不根据分组进行排序?在我参与的另一个项目中,如果有多个分组导入,则仅在这些组内进行排序。

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

我怎样才能实现这个目标?

这些是我用于排序导入的 eslint 规则。

 "sort-imports": ["error", {
      "ignoreCase": false,
      "ignoreDeclarationSort": false,
      "ignoreMemberSort": false,
      "memberSyntaxSortOrder": ["none", "all", "single", "multiple"]
  }]
javascript node.js reactjs react-native eslint
3个回答
4
投票

这正是

ignoreDeclarationSort
的作用:如果是
true
那么 ESLint 将忽略
import
行。如果
ignoreMemberSort
false
它将检查命名导入的顺序。

那么

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

应该适合你。


4
投票

eslint 在

allowSeparatedGroups
 版本中使用 
sort-imports
7.5.0

选项添加了您要查找的内容

比照:


0
投票

尝试使用 ESLint 插件 Perfectionist: https://github.com/azat-io/eslint-plugin-perfectionist

这里有一些选项可以对导入进行分组、创建自定义组以及尽可能灵活地自定义排序。我想你会发现它很有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.