如何修复import / no-unresolved eslint以查看package.json“模块”而不是“ main”

时间:2019-01-28 18:30:11

标签: webpack ecmascript-6 babel eslint

我当前正在导入一个纱线工作区软件包,该软件包具有ES6中定义的module字段,并且使用插件eslint-plugin-import来填充

我的create-react-app安装程序通过Webpack自动使用module,但eslint抱怨@mycompany/utils软件包未定义。

Unable to resolve path to module '@mycompany/utils'. [import/no-unresolved]

  

所以我的问题是如何让我的短毛猫看着module的路径而不是main

这是我的utils包的package.json

{
  "name": "@mycompany/utils",
  "version": "0.0.2",
  "main": "dist/index.js",
  "module": "src/index.js"
}

1 个答案:

答案 0 :(得分:2)

  
{
  "parser": "babel-eslint",
  "extends": [
    "eslint:recommended",
    "plugin:import/recommended",
    "plugin:react/recommended"
  ],
  "plugins": ["react"],

  "settings": {
    "import/resolver": {
      "webpack": {
        "config": {
          "resolve": {
            "modules": ["node_modules"]
          }
        }
      }
    }
  }
}

这是为了更新您的eslint-plugin-import以便使用webpack而不是node进行解析。在webpack解析器中,它将首先自动在module上方查看您的main

https://github.com/benmosher/eslint-plugin-import/blob/master/resolvers/webpack/index.js#L200