如何编写Glob minimatch规则将meteor和react类导入归为同一分组?
eslint-plugin-import 导入分组规则配置解决方案
该需求完全可以实现,你之前写的*(meteor/**|react*)属于extglob扩展语法,eslint-plugin-import默认没有开启该语法支持,不符合其依赖的minimatch默认匹配规则,调整写法即可生效。
正确配置方式
你可以任选以下两种写法之一配置import/order规则:
写法1:拆分两个独立匹配规则(可读性更高)
直接为两类导入设置同组同优先级规则,写法更直观不易出错:
{ "rules": { "import/order": [ "error", { "pathGroups": [ { "pattern": "meteor/**", "group": "external", "position": "before" }, { "pattern": "react*", "group": "external", "position": "before" } ], "pathGroupsExcludedImportTypes": ["builtin"] } ] } }
写法2:合并为单条匹配规则
使用minimatch原生支持的大括号多模式语法,合并两条匹配规则:
{ "rules": { "import/order": [ "error", { "pathGroups": [ { "pattern": "{meteor/**,react*}", "group": "external", "position": "before" } ], "pathGroupsExcludedImportTypes": ["builtin"] } ] } }
生效效果
配置完成后重新执行lint,导入语句会按照你的预期排序为:
meteor/meteor meteor/react-meteor-data react react-i18next
内容的提问来源于stack exchange,提问作者Nikolay Aleshkovskiy
相关产品推荐
相关产品推荐

