javascript ESLint无法检测某些模块,同时使用`webpack`作为`import/resolver`

r1zhe5dt  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(154)

我在我的项目中使用Webpack以及ESLint。我已经安装了eslint-plugin-importeslint-import-resolver-webpack,以帮助ESLint理解项目中使用的一些resolve.aliases(如[这里][1]所述)。我也使用react-hook-formreact
问题是当我尝试[import][2] react-hook-form时,ESLint告诉我它是Unable to resolve path to module 'react-hook-form'. eslint(import/no-unresolved)。这在react中不会发生。这里有一个最小的、可重复的例子(https://github.com/nishnat-rishi/min-repro)。
在我的实际项目中,有问题的node_modules是:

  • react-hook-form
  • @headlessui/react

工作的是:

  • @heroicons/react
  • react
  • react-dom
  • react-router-dom

我已经试过了:

  • webpack.config.js中添加{... resolve: { modules: ["node_modules"] } ... }。没有任何变化,同样的错误。我还尝试了以下变体:
... modules: [path.resolve(__dirname, "node_modules")]
... modules: [path.resolve(__dirname)]
  • webpack.config.js中添加{... resolve: { mainFields: ["browser", "module", "main"] } ... }。没有任何变化,同样的错误。我还在三个mainFields条目之间来回移动,但没有用。

我错过了什么/做错了什么?

ijnw1ujt

ijnw1ujt1#

我需要在.eslintrc中使用两个解析器:

"import/resolver": {
  "node": {},
  "webpack": {}
}

相关问题