Eslint-限制从根的导入并强制摇树

时间:2020-07-23 00:14:44

标签: reactjs material-ui eslint

我想直接从应用程序中依赖项的根目录(@ material-ui / icons)阻止导入,并强制进行摇树。

有效-import AccessAlarmIcon from "@material-ui/icons/AccessAlarm";

无效-import AccessAlarmIcon from "@material-ui/icons/";

Material-ui对于设置树状摇动有很好的指导,但是它并不强制执行上述无根规则。

rules: {
    "no-restricted-imports": [
      "error",
      {
        "patterns": ["@material-ui/*/*/*", "!@material-ui/core/test-utils/*"],
        "message": "Tree-shaking is enforced for @material-ui, import dependencies "
      }
    ]
}

是否只需添加“ @ material-ui / *”作为模式即可解决我的问题?

1 个答案:

答案 0 :(得分:0)

以下 no-restricted-imports 规则阻止从 @material-ui/icons 导入,如 Material UI 指南中所述。

rules: {
"no-restricted-imports": [
  "error",
  {
    "paths": ["@material-ui/icons"],
    "patterns": ["@material-ui/*/*/*", "!@material-ui/core/test-utils/*"],
  }
]

}

"patterns": ["@material-ui/icons", "!@material-ui/icons/*"] 没有达到预期的效果,来自 @material-ui/icons/* 的导入也被阻止。以下是原因的描述 Eslint no-restricted-imports only restrict importing from a package root?