在我的节点项目中,我使用 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"]
}]
ignoreDeclarationSort
的作用:如果是 true
那么 ESLint 将忽略 import
行。如果 ignoreMemberSort
是 false
它将检查命名导入的顺序。
那么
"sort-imports": ["error", {
"ignoreCase": false,
"ignoreDeclarationSort": true,
"ignoreMemberSort": false,
"memberSyntaxSortOrder": ["none", "all", "single", "multiple"]
}]
应该适合你。
eslint 在
allowSeparatedGroups
版本中使用
sort-imports
的
7.5.0
选项添加了您要查找的内容
比照:
尝试使用 ESLint 插件 Perfectionist: https://github.com/azat-io/eslint-plugin-perfectionist
这里有一些选项可以对导入进行分组、创建自定义组以及尽可能灵活地自定义排序。我想你会发现它很有帮助。