【问题标题】:ESLint not recognising Docusaurus aliases when using Typescript?使用 Typescript 时 ESLint 无法识别 Docusaurus 别名?
【发布时间】:2022-10-25 03:12:04
【问题描述】:

我正在开发一个运行 TypeScript/ESLint 的 Docusaurus 项目。更具体地说,我有以下规则:

{
  'import/no-unresolved': 'error',
}

我有设置:

 "devDependencies": {
    "@docusaurus/module-type-aliases": "...",
    "@tsconfig/docusaurus": "...",
    "typescript": "..."
  }

我的 tsconfig.json 扩展了 Docusaurus TS 配置:

 "extends": "@tsconfig/docusaurus/tsconfig.json"

当我运行 linter 时,出现一些错误:

  2:18  error  Unable to resolve path to module '@docusaurus/Head'         import/no-unresolved
  3:25  error  Unable to resolve path to module '@docusaurus/BrowserOnly'  import/no-unresolved
  5:20  error  Unable to resolve path to module '@theme/Layout'            import/no-unresolved

我怀疑这些模块是 Docusaurus 知道如何解决的别名,但 ESLint 不知道。当我在导入时cmd + click 时,它会将我带到声明的模块。

I found a proposed solution here 但这似乎不能解决我的问题:

  settings: {
    'import/no-unresolved': [
      2,
      { ignore: ['^@theme', '^@docusaurus', '^@site'] },
    ],
  }

它可能纯粹是一个正则表达式吗?我在互联网上找不到关于这个利基问题的任何其他内容,因此我们将不胜感激。

【问题讨论】:

    标签: typescript eslint docusaurus


    【解决方案1】:

    我认为这里的问题是您将其添加到 eslintrc 的设置部分。您需要将代码段添加到您的规则部分:

     rules: {
        "import/no-unresolved": [
          2,
          { ignore: ["^@theme", "^@docusaurus", "^@site"] },
        ],
    

    为我工作。

    【讨论】:

      猜你喜欢
      • 2021-12-31
      • 2023-03-14
      • 2019-08-05
      • 2020-10-22
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多