javascript - Eslint no-restricted-imports 只限制从包根目录导入?

标签 javascript eslint

例如我想限制导入 react-use,但允许 react-use/lib/usePrevious。我尝试过:

  rules: {
    'no-restricted-imports': [2, { patterns: [
      'react-use',
    ] }],
  },

还有

  rules: {
    'no-restricted-imports': [2, { patterns: [
      'react-use',
      '!react-use/*',
    ] }],
  },

但是,在这两种情况下,我都会收到错误:

import usePrevious from 'react-use/lib/usePrevious';

我只想要一个错误:

import something from 'react-use';

最佳答案

这是 ignore 的限制ESLint 用于检查每个模式的库。它的构建是为了用更紧凑和准系统的东西替换现有的文件忽略方法。

具体来说,问题似乎是这个忽略系统假设您的文件结构严格类似于目录,其中限制 react-use 并忽略 !react-use/* 暗示 react-use 是一个文件夹。但是,通过模块导入结构,react-use 可以引用一个文件(通过其 index.js)并同时包含 react-use/lib 等子文件夹 使其既可用作文件 文件夹。

因此在限制子路径时不可能忽略模块的基础。

关于javascript - Eslint no-restricted-imports 只限制从包根目录导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66330715/

相关文章:

javascript - 在文件上禁用 ESLint 警告?

javascript - 如何改变 DOM 事件对象

javascript - JQuery/Flask - 将数据以 JSON 形式从服务器发送到浏览器

eslint 和 package.json 配置

ESLint 找不到要扩展的配置 "prettier"

javascript - Meteor eslint 配置用于包开发与全局命名空间导出

javascript - 带有 @typescript-eslint/no-unsafe-* 规则的新 eslint 错误

javascript - DialogFlow 在身份验证后发送回上下文?

javascript - 如何将自定义工具提示添加到 angular-nvd3 多条形图?

javascript - 如何获取没有id的输入值