如何在eslintrc中手动添加要解析的路径

wli*_*gke 44 resolve eslint webpack

我的项目main中有一个文件夹,我像模块一样解析.例如import x from 'main/src'进口main/src/index.js.这是通过webpack的解析别名配置完成的.

我遇到的一个问题是通过eslint摆脱错误.我知道eslint提供了一个webpack resolve插件,但是,我一直无法让它工作.我怀疑是因为我在webpack 2上并在我的webpack配置文件中使用es6.

是否有手动方式来编写解决方案来解决我的问题?


我见过的唯一其他hack工作正在使用import/core-modules但是我必须列出子目录树中的每个文件夹main/src/bar,main/src/foo.这不太理想.

小智 102

我认为以下链接可以帮助您.您可以使用config添加解析目录.

https://github.com/benmosher/eslint-plugin-import#resolvers

例如,如果要解决src/,可以像下面这样写.eslintrc.

{
  "settings": {
    "import/resolver": {
      "node": {
        "paths": ["src"]
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

然后ESLint从src目录解析.您可以src/hoge/moge.js通过写作来要求const moge = require('hoge/moge');并且ESLint知道它.


小智 11

看到这个问题太迟了.实际上,已经有一个名为eslint-import-resolver-alias的解析器,它使用以下设置实现此功能.

{
  settings: {
    'import/resolver': {
      'alias': [
        ['main/src', './main/src']
       ]
     }
  }
}
Run Code Online (Sandbox Code Playgroud)


Zip*_*184 10

我对 webpack 有同样的问题。我安装了 eslint-import-resolver-webpack 并更新了 .eslintrc

{
    "settings": {
        "import/resolver": "webpack"
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 此代码还假设您的 webpack 配置位于默认的 webpack.config.js 文件中。如果不同(比如你有单独的 dev/prod 配置),你可以指定一个 webpack 文件,如下所示: "settings": { "import/resolver": { "webpack": { "config": "webpack.dev .config.js" } }, ... (2认同)

小智 8

我的工作润湿 .eslintrc.js

  settings: {
    'import/resolver': {
      node: {
        paths: ['.'],
      },
    },
  },
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
  "compilerOptions": {
    ...
    "baseUrl": "./",
    ...
  },
}
Run Code Online (Sandbox Code Playgroud)

  • 哇...为什么不是默认的-.- (2认同)

Pav*_*vel 5

我遇到了类似的问题:ESLint无法解析相对于"baseUrl": "src"我的指令导入的模块tsconfig.json

设法以类似于标记为解决方案答案的方式解决问题,除了我必须添加extensions数组。因此,我在我的内容中添加了以下内容.eslintrc.js

  settings: {
    'import/resolver': {
      node: {
        extensions: ['.js', '.jsx', '.ts', '.tsx'],
        paths: ['./src']
      }
    }
  },
Run Code Online (Sandbox Code Playgroud)

希望这对某人有帮助。我的解决方案的来源实际上是软件包的npm page